gcc -fPIC -shared src.c
和gcc -fPIC src.c
的文件内容技术上有什么区别?
假设src.c
中定义了int main(int, char**)
,以使两种编译成功。但是执行由gcc -shared src.c
生成的a.out
时,会出现以下错误:
-bash: ./a_shared.out: cannot execute binary file
即使其中有一个main
函数。
此外,我怎样使用诸如otool
或objdump
之类的工具检查输出文件的差异呢?
非常感谢。
crt1.o
的部分让区别变得清晰明了。 - Dale Z