GCC 链接库文件时的顺序问题

困扰了相当长的时间,gcc在链接库文件时是从左到右扫描,而且不会重复扫描,这样任何函数的定义应该放在使用者的后面,不同的编译器对这个问题有不同的处理方式,有的编译器可以实现顺序无关,但在没有明确的情况下应该遵循原有的规则。
 
下面是有关gcc说明的一段话,摘自网络
On Unix-like systems, the traditional behavior of compilers and linkers
is to search for external functions from left to right in the object files
specified on the command line. This means that the object file which
contains the definition of a function should appear after any files which
call that function.
 
Most current compilers and linkers will search all object files, regardless
of order, but since not all compilers do this it is best to follow the
convention of ordering object files from left to right.

 

你可能感兴趣的:(unix,gcc)