连接器选项(linker option)
【程序编程相关:新东方笑话集锦】 【推荐阅读:Linux系统初学者使用技巧】 下面的选项用于编译器连接目标文件,输出可执行文件的时候.如果编译器不进行 连 【扩展信息:Flash ROM驱动示例】 接,他们就毫无意义. object-file-name 如果某些文件没有特别明确的后缀a special recognized suffix, gcc就认为他们 是目标文件或库文件. (根据文件内容,连接器能够区分目标文件与库文件).如果gc c执行连接操作,这些目标文件将成为连接器的输入文件. -llibrary 连接名为library的库文件. 连接器在标准搜索目录中寻找这个库文件,库文件的真正名字是`liblibrary.a.连 接器会 当做文件名得到准确说明一样引用这个文件. 搜索目录除了一些系统标准目录外,还包括用户以`-l选项指定的路径. 一般说来用这个方法找到的文件是库文件---即由目标文件组成的归档文件(archiv e file).连接器处理归档文件的 方法是:扫描归档文件,寻找某些成员,这些成员的 符号目前已被引用,不过还没有被定义.但是,如果连接器找到普通的 目标文件,而不 是库文件,就把这个目标文件按平常方式连接进来.指定`-l选项与指定文件名的唯 一区别是, `-l选项用`lib与`.a把library包裹起来,而且搜索一些目录. -lobjc 这个-l选项的特殊形式用于连接objective c程序. -nostartfiles 不连接系统标准启动文件,而标准库文件仍然正常使用. -nostdlib 不连接系统标准启动文件与标准库文件.只把指定的文件传递给连接器. -static 在支持动态连接(dynamic linking)的系统上,阻止连接共享库.该选项在其他系统上 无效. -shared 生成一个共享目标文件,他可以与其他目标文件连接产生可执行文件.只有部分系统 支持该选项. -symbolic 建立共享目标文件的时候,把引用绑定到全局符号上.对所有无法解析的引用作出警 告(除非用连接编辑选项 `-xlinker -z -xlinker defs取代).只有部分系统支持该 选项. -xlinker option 把选项option传递给连接器.可以用他传递系统特定的连接选项, gnu cc无法识别这 些选项. 如果需要传递携带参数的选项,你必须使用两次`-xlinker,一次传递选项,另一次传 递他的参数. 例如,如果传递`-assert definitions,你必须写成`-xlinker -asse rt -xlinker definitions,而不能写成`-xlinker "-assert definitions",因为 这样会把整个 字符串当做一个参数传递,显然这不是连接器期待的. -wl,option 把选项option传递给连接器.如果option中含有逗号,就在逗号处分割成多个选项. -u symbol 使连接器认为取消了symbol的符号定义,从而连接库模块以取得定义.你可以使用多 个 `-u选项,各自跟上不同的符号,使得连接器调入附加的库模块. ... 下一页