不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2015-11-22 17:45:13  修改时间:2024-04-28 18:21:27  分类:C/C++/Rust  编辑

如何查看 glib库 的版本号?

因为 ldd 命令是 glibc 提供的,所以也可通过它来查看 glib版本号: ldd --version 

作者:Albert.Wen  添加时间:2016-01-28 17:28:27  修改时间:2024-04-20 19:00:20  分类:C/C++/Rust  编辑

本小节描述了使用cmake构建Hello World程序的全部过程,并介绍了三个简单的指令:PROJECT/MESSAGE/ADD_EXECUTABLE以及变量调用的方法,同时提及了两个隐式变量<projectname>_SOURCE_DIR<projectname>_BINARY_DIR,演示了变量调用的方法,从这个过程来看,有些开发者可能会想,这实在比我直接写Makefile要复杂多了,甚至我都可以不编写Makefile,直接使用gcc main.c即可生成需要的目标文件。是的,正如第一节提到的,如果工程只有几个文件,还是直接编写Makefile最简单。但是,kdelibs压缩包达到了50多M,您认为使用什么方案会更容易一点呢?

作者:Albert.Wen  添加时间:2016-04-04 22:35:12  修改时间:2024-04-20 18:18:49  分类:C/C++/Rust  编辑

传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问。这意味着只需要访问这个对象的函数才有访问权限,而且也不需要复制对象。

作者:Albert.Wen  添加时间:2019-09-08 23:33:00  修改时间:2024-05-02 16:16:12  分类:C/C++/Rust  编辑
int accept(int s, struct sockaddr *addr, int *addrlen);

accept()用来接受参数s 的socket 连线。参数s 的socket 必需先经bind()、listen()函数处理过,当有连线进来时accept()会返回一个新的socket 处理代码,往后的数据传送与读取就是经由新的socket处理,而原来参数s 的socket 能继续使用accept()来接受新的连线要求。

作者:Albert.Wen  添加时间:2016-04-10 10:57:00  修改时间:2024-05-04 20:15:18  分类:C/C++/Rust  编辑

一、用英语来阅读

我认为像 int *hoge_p; 还有 int hoge[10]; 这样的声明方式很奇怪

对于这种程序的声明方式,可能也有很多人感觉不到什么别扭的地方。那就再看下面的这个例子(经常被使用):

char *color_name[] = {
	"red",
	"green",
	"blue"
};

这里声明了一个“指向 char 的指针的数组”。

作者:Albert.Wen  添加时间:2017-10-26 14:28:03  修改时间:2024-04-16 16:09:42  分类:C/C++/Rust  编辑
作者:Albert.Wen  添加时间:2015-10-24 09:19:52  修改时间:2024-04-14 17:37:30  分类:C/C++/Rust  编辑

关键字是已被C语言标准作为命令、数据类型或者固定函数名的字母组合。关键字不能被用做变量名或函数名。下面列举了C语言的32个关键字,它们遵循C语言的语法使用,形成了C程序设计语言。

作者:Albert.Wen  添加时间:2016-01-28 10:23:57  修改时间:2024-05-02 18:49:05  分类:C/C++/Rust  编辑

《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)

报错 

作者:Albert.Wen  添加时间:2017-10-27 09:41:36  修改时间:2024-04-15 02:09:42  分类:C/C++/Rust  编辑

一、什么是信号

用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。

信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们还可以作为进程间通信或修改行为的一种方式,明确地由一个进程发送给另一个进程。一个信号的产生叫生成,接收到一个信号叫捕获。

作者:Albert.Wen  添加时间:2016-02-12 22:32:58  修改时间:2024-04-28 23:59:20  分类:C/C++/Rust  编辑

本小节主要描述了如何在工程中使用多目录、各种安装指令以及CMAKE_INSTALL_PREFIX变量(你真够牛的,这么点东西居然罗唆了这么多文字)在下一小节,我们将探讨如何在cmake中构建动态库静态库,以及如何使用外部头文件外部共享库,毕竟,这是程序编写中最长使用的(对了,你知道用怎样的gcc参数可以直接构建静态库和动态库吗?)