GCC选项的-shared和-Wl-shared之间的区别
我知道这-Wl,-shared是 的选项。我见过有人这样编译
$ gcc -shared -Wl,-soname,libtest.so -o libtest.so *.o这样的人
$ gcc -Wl,-shared -Wl,-soname,libtest.so -o libtest.so *.o因此,我想知道-shared和之间是否存在差异-Wl,-shared。
谢谢。
回答:
存在 是
通过之间的差-shared,以GCC或-shared给ld(通过-Wl)。传递-shared给GCC可能会在链接时启用或禁用其他标志。特别是,crt*可能涉及不同的文件。
要获取更多信息,请-shared在GCC的gcc/config/目录和子目录中使用grep 。
举一个具体的例子:在i386 FreeBSD上,gcc
-shared将链接到目标文件中crtendS.o,而没有时-shared,它将链接到目标文件中crtend.o。因此,-shared并-Wl,-shared不能等同。
以上是 GCC选项的-shared和-Wl-shared之间的区别 的全部内容, 来源链接: utcz.com/qa/436451.html
