随笔分类 -  Linux系统开发

摘要:有时候需要把一组代码编译成一个库,这个库在很多项目中都要用到,例如libc就是这样一个库,我们在不同的程序中都会用到libc中的库函数(例如printf),也会用到libc中的变量(例如以后要讲到的environ变量)。本节介绍怎么创建这样一个库。 我们继续用stack.c的例子。为了便于理解,我们把stack.c拆成四个程序文件(虽然实际上没太大必要),把main.c改得简单一些,头文件stac... 阅读全文
posted @ 2010-06-24 11:06 红脸书生 阅读(1168) 评论(0) 推荐(0)
摘要:4.1. 编译、链接、运行 请点评 组成共享库的目标文件和一般的目标文件有所不同,在编译时要加-fPIC选项,例如:-f后面跟一些编译选项,PIC是其中一种,表示生成位置无关代码(Position Independent Code)。那么用-fPIC生成的目标文件和一般的目标文件有什么不同呢?下面分析这个问题。我们知道一般的目标文件称为Relocatable,在链接时可以把目标文件中各段的地址做重... 阅读全文
posted @ 2010-06-24 11:05 红脸书生 阅读(2306) 评论(0) 推荐(0)