`
gstarwd
  • 浏览: 1495357 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
有许多小窍门来使编程更加容易。其中之一就是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。以下是它的说明 Eval 函数功能:先解释Javascript代码,然后在执行它用法:Eval(codeString)codeString是包含有Javascript语句的字符串,在eval之后使用Javascript引擎编译。 举个小例子: var the_unevaled_answer = "2 + 3";var the_evaled_answer = eval("2 + 3");alert("the un ...
最近在项目中需要用到用到JavaScript开发工具的支持,于是乎找到了曾经了解过但是并没有具体用过的aptana。          Aptana 是一个开发Ajax的很好的ide,甚至该公司已经有自己的单独的Ajax Server和框架的支持。而且,至少到目前为止笔者所用过的支持JavaScript的ide中,aptana是最好的一个。且aptana提供了 eclpse的插件,用起来几乎很上手而且很简单、方便,没有理由不去爱它。          但是在MyEclipse下安装aptana总会遇到一些问题,笔者 也一样遇到了许多问题。现在这里就做一个总结,安装aptana遇到的问题: ...
VC+Socket 网络通讯示例 收藏 服务器端示例代码 #include <stdio.h> #include <winsock.h> #include <windows.h> #define SERVER_SOCKET_ERROR 1 #define SOCKET_OK 0 #pragma comment(lib, "wsock32.lib") void socketError(char*); int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPr ...
socket() 我们使用系统调用 socket() 来获得文件描述符: #include<sys/types.h> #include<sys/socket.h> int socket(int domain,int type,int protocol); 第一个参数 domain 设置为 “AF_INET” 。 第二个参数是套接口的类型: SOCK_STREAM 或 SOCK_DGRAM 。第三个参数设置为 0 。 系统调用 socket() 只返回一个套接口描述符,如果出错,则返回 -1 。 ...
++++++++++++ 第一章: 导论 ++++++++++++ 1.要养成一个习惯, 经常花时间阅读别人编写的高品质代码. 2.要有选择地阅读代码, 同时, 还要有自己的目标. 您是想学习新的模式|编码风格|还是满足某些需求的方法. 3.要注意并重视代码中特殊的非功能性需求, 这些需求也许会导致特殊的实现风格. 4.在现有的代码上工作时, 请与作者和维护人员进行必要的协调, 以避免重复劳动或产生厌恶情绪. 5.请将从开放源码软件中得到的益处看作是一项贷款, 尽可能地寻找各种方式来回报开放源码社团. 6.多数情况下, 如果您想要了解"别人会如何完成这个 ...
之前一直没有怎么关注过这个问题,前些日子在面试一家公司的时候,面试官提到了pthread_cond_wait/pthread_cond_signal的实现,当时答的不是很好,回来就查了nptl的代码。前天,水木上又有人问到了信号量和互斥锁的问题,我想 ...
 线程中互斥锁的使用,达到对共享资源互斥使用。除了使用互斥锁,信号量,也就是操作系统中所提到的PV原语,能达到互斥和同步的效果,这就是今天我们所要讲述的信号量线程控制。 PV原语 是对整数计数器信号量sem的操作,一次P操作可使sem减一,而一次V操作可是sem加一。进程(或线程)根据信号量的值来判断是否对公共资源具有访问 权限。当信号量的值大于零或等于零的时候,该进程(或线程)具有对公共资源访问的权限,否则,当信号量的值小于时,该进程(或线程)就会被阻塞,直到信号 量的值大于或等于一。 1、在LINUX中,实现了POSIX的无名信号量,主要用于线程间的互斥同步,下面将简单 ...
循环队列(C语言版)    作者:刘勉刚 E-mail:liumgj@163.com   线性结构的主要操作就是插入和删除,我 们前面讲过的顺序线性表、单链表、双链表都没有限制插入和删除操作的位置。如果我们限定插入和删除操作在线性表的 ...
醋 -初等,4个: ( ) [ ] -> 指向结构体成员 . 结构体成员 坛 -单目,9个: ! ~ ++ -- -负号 (类型) *指针 &取地址 sizeof长度 酸 -算术,5个: * / % + -减 味 -位移,2个: << >> 灌 -关系,6个: < <= > >= == 等于 != 不等于 味 -位逻,3个: & 按位与 ^ 按位异或 | 按位或 落 -逻辑,2个: && 逻辑与 || 逻辑或 跳 -条件,1个,三目: ? : 福 -赋值,11个: = += -= *= /= ...
内核同步措施     为了避免并发,防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别。     Linux 使用的同步机制可 ...
本例示范Linux信号量的基本用法。该范例使用了两个线程分别对一个公用队列进行入队和出队操作,并用信号量进行控制,当队列空时出队操作可以被阻塞,当队列满时入队操作可以被阻塞。 主要用到的信号量函数有:sem_init:初始化信号量sem_t,初始化的时候可以指定信号量的初始值,以及是否可以在多进程间共享。 sem_wait:一直阻塞等待直到信号量>0。 sem_timedwait:阻塞等待若干时间直到信号量>0。 sem_post:使信号量加1。 sem_destroy:释放信号量。和sem_init对应。 关于各函数的具体参数请用man查看。如man sem ...
Linux获取当前时间 最近在查关于Linux下时间编程的问题: 1. Linux下与时间有关的结构体 struct timeval { int tv_sec; int tv_usec; }; 其中tv_sec是由凌晨开始算起的秒数,tv_usec则是微秒(10E-6 second)。 struct timezone { int tv_minuteswest; int tv_dsttime; }; tv_minuteswest是格林威治时间往西方的时差,tv_dsttime则是时间的修正方式。 s ...
先看下面这段程序,主线程创建了三个线程,每个线程中均有一个打印语句。 #include <stdio.h> #include <pthread.h> #include <semaphore.h> void *thread_a(void *in) { printf("I am thread_a\n"); pthread_exit((void *)0); } void *thread_b(void *in) { printf("I am thread_b\n ...
1.概述   许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。   2.void的含义   void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。   void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义: void a;   这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错, ...
信号量是1965荷兰Dijkstra 为了解决并发进程问题 而提出的一个重要操作系统的思想 其基本思想:       两个或多个进程可以通过简单的信号进行合作,一个进程可以被迫在某个位置停止,直到它接收到一个特定的信号。任何复杂的合作需求都可以通过适当的信号结构 得到满足。为了发信号,需要使用一个称为信号量的特殊变量。为通过信号量s发送信号,进程可执行原语semSignal(s),即V操作;为了通过信号量 s接收信号,进程可执行原语semWait(s),即P操作;如果相应的信号还没有发送,则进程将被挂起,直至发送位置      信号量可被看做死一个具有整数型的变量 ...
Global site tag (gtag.js) - Google Analytics