我想静态链接libray,我包括(如stdio)与gcc,所以我使用-static选项。
我的环境是Ubuntu 10.10。
gcc版本是4.4.5。
我使用的编译命令是:gcc -static -o output.out input.c
以下是我的源代码。
gcc静态链接
include
int main(){
我编译并使用-static选项后,objdump可执行文件。
printf("hello world");
return 0;
}
我发现printf实际上叫做_IO_printf。
而我写另一个程序,以下是源代码。
include
int main(){
我使用相同的选项编译此源代码并objdump新的可执行文件。
return 0;
}
但是,我找不到_IO_printf。
我的问题是为什么我不能在第二种情况下罚款_IO_printf。我有静态链接我包括的libray。
有人可以帮我解决这个问题,thx。
不要使用HTML格式化您的代码。 – 2011-05-28 18:57:21