Sunday, October 17, 2010

c专家编程-对链接的思考

    本章主要是对如何link的思考,包括编译的过程,编译时候的选项,动态连接,静态链接等等,另外就是要提防interpositioning(编写与库函数同名函数)。
    给个直观的图来说明编译器的组成:

    静态链接:如果函数库的一份copy是可执行文件的物理组成部分。以.a结尾
    动态链接:如果可执行文件只是包含了文件名,让载入器在运行时能够寻找程序所需要的函数库。即just in time JIT 链接以.so结尾
    直观上的,静态库要比动态库大。
    动态链接的优点在于体积小,以及可以共享函数库,同时,函数库升级更加容易
    关于链接相关知识,还可以参考Makefile文件的编写,chinaunix的这个写得很有味道

No comments:

Post a Comment