《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE
安装参数:
--openssldir=OPENSSLDIR
安装目录,默认是 /usr/local/ssl 。
--prefix=PREFIX
设置 lib include bin 目录的前缀,默认为 OPENSSLDIR 目录。
如何查看 glib库 的版本号?
因为 ldd 命令是 glibc 提供的,所以也可通过它来查看 glib版本号: ldd --version
本小节描述了使用cmake构建Hello World程序的全部过程,并介绍了三个简单的指令:PROJECT/MESSAGE/ADD_EXECUTABLE以及变量调用的方法,同时提及了两个隐式变量<projectname>_SOURCE_DIR及<projectname>_BINARY_DIR,演示了变量调用的方法,从这个过程来看,有些开发者可能会想,这实在比我直接写Makefile要复杂多了,甚至我都可以不编写Makefile,直接使用gcc main.c即可生成需要的目标文件。是的,正如第一节提到的,如果工程只有几个文件,还是直接编写Makefile最简单。但是,kdelibs压缩包达到了50多M,您认为使用什么方案会更容易一点呢?
传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问。这意味着只需要访问这个对象的函数才有访问权限,而且也不需要复制对象。
int accept(int s, struct sockaddr *addr, int *addrlen);
accept()用来接受参数s 的socket 连线。参数s 的socket 必需先经bind()、listen()函数处理过,当有连线进来时accept()会返回一个新的socket 处理代码,往后的数据传送与读取就是经由新的socket处理,而原来参数s 的socket 能继续使用accept()来接受新的连线要求。
一、用英语来阅读
我认为像 int *hoge_p; 还有 int hoge[10]; 这样的声明方式很奇怪。
对于这种程序的声明方式,可能也有很多人感觉不到什么别扭的地方。那就再看下面的这个例子(经常被使用):
char *color_name[] = { "red", "green", "blue" };
这里声明了一个“指向 char 的指针的数组”。
select IO复用机制:
http://www.cnblogs.com/hjslovewcl/archive/2011/03/16/2314330.html
http://blog.csdn.net/lingfengtengfei/article/details/12392449
关键字是已被C语言标准作为命令、数据类型或者固定函数名的字母组合。关键字不能被用做变量名或函数名。下面列举了C语言的32个关键字,它们遵循C语言的语法使用,形成了C程序设计语言。
《CMake实践》的第三章,初试cmake - cmake的helloworld 中的
PROJECT (HELLO)
SET(SRC_LIST main.c)
MESSAGE(status "This is BINARY dir " ${HELLO_BINARY_DIR})
MESSAGE(status "This is SOURCE dir " ${HELLO_SOURCE_DIR})
ADD_EXECUTABLE(hello SRC_LIST)
报错