我正在将项目中的一些代码分离到一个单独的库中,以便在另一个应用程序中重用。这个新的库有各种函数被定义但没有实现,当前项目和另一个应用程序都会实现它们自己的版本。
我在原始项目中实现了这些函数,但它们在项目内部没有被调用,只有这个新的库才会调用它们。因此,编译器会把它们优化掉,并且我会遇到链接错误。当我添加一个虚拟调用到这些函数时,链接错误就消失了。
有没有办法告诉GCC即使它们没有被调用也要编译这些函数呢?
我正在使用gcc 4.2.2,在SuSE linux(x86-64_linux_2.6.5_ImageSLES9SP3-3)上使用
我在原始项目中实现了这些函数,但它们在项目内部没有被调用,只有这个新的库才会调用它们。因此,编译器会把它们优化掉,并且我会遇到链接错误。当我添加一个虚拟调用到这些函数时,链接错误就消失了。
有没有办法告诉GCC即使它们没有被调用也要编译这些函数呢?
我正在使用gcc 4.2.2,在SuSE linux(x86-64_linux_2.6.5_ImageSLES9SP3-3)上使用
-O2
进行编译。