如何查看 glib库 的版本号?
因为 ldd 命令是 glibc 提供的,所以也可通过它来查看 glib版本号: ldd --version
如何查看 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)
报错
用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。
信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们还可以作为进程间通信或修改行为的一种方式,明确地由一个进程发送给另一个进程。一个信号的产生叫生成,接收到一个信号叫捕获。
本小节主要描述了如何在工程中使用多目录、各种安装指令以及CMAKE_INSTALL_PREFIX变量(你真够牛的,这么点东西居然罗唆了这么多文字)在下一小节,我们将探讨如何在cmake中构建动态库和静态库,以及如何使用外部头文件和外部共享库,毕竟,这是程序编写中最长使用的(对了,你知道用怎样的gcc参数可以直接构建静态库和动态库吗?)