![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux编程
文章平均质量分 71
lstjsuperman
这个作者很懒,什么都没留下…
展开
-
关于pthread_cleanup_push/pthread_cleanup_pop的一个小问题
这是学习APUE的第二遍,今天看到pthread_cleanup_push的时候做了一个小实验,发现了清理机制在c和c++下有些不同,按照stevens所说的,如果是从线程的入口函数通过return正常返回的话,通过pthread_cleanup_push注册的清理函数将不执行。原创 2011-07-21 14:32:17 · 744 阅读 · 1 评论 -
静态编译动态编译;静态链接动态链接;静态库和动态库
静态编译:将所有的dll和主程序都编译到一个主程序里面。 动态编译:编译的结果为,主程序是主程序,各个模块是各个模块。 其中静态编译和动态编译是可以设置工程属性动态设置的! 静态链接:静态链接已经把函数的定位信息写入到可执行文件内部了。静态连接就是把需要的库函数放进转载 2011-08-31 23:31:44 · 1175 阅读 · 1 评论 -
继续学习之静态编译
静态编译可以分为下面4个过程:预编译(preprocessing)、编译(compilation)、汇编(assembly)和链接(Linking)。 预编译过程主要处理源文件代码中那些以“#”开始的预编译命令,如#include、#define等。删除所有的注释、处理#if、原创 2011-09-02 22:09:20 · 223 阅读 · 0 评论 -
静态编译之链接
静态链接的主要过程包括:地址和空间分配,符号决议和重定位等。 不同的模块被编译称为不同的目标文件,在不同的目标文件会存在两种通信:模块间的函数调用、模块间的变量访问。 函数访问需要知道目标函数的地址,变量访问也需要知道目标变量的地址,而这些地址在编译的时候是无法获知的,编译器原创 2011-09-02 22:58:30 · 174 阅读 · 0 评论 -
共享库的系统路径
目前包括linux在内的大多数开源系统都遵循FHS(File Hierarchy Standard)这个标准,这个标准的意图是促进各开源系统之间的兼容性,它规定了系统中的系统文件应该如何存放,包括各个目录的结果、组织和作用。共享库作为系统中重要的文件,它们的存放方式也被FHS列入翻译 2011-09-05 09:16:31 · 241 阅读 · 0 评论