我正在尝试使用共享对象进行实验,并发现了以下代码片段http://www.gambas-it.org/wiki/index.php?title=Creare_una_Libreria_condivisa_(Shared_Library)_.so
gcc -g -shared -Wl,-soname,libprimo.so.0 -o libprimo.so.0.0 primo.o -lc
我浏览了手册页和在线,但没有找到该-lc
开关的作用,有人可以告诉我吗?
答案1
该选项显示为“ -l_library_
”(无空格)或“ -l _library_
”(有空格),并且c
是图书馆论证,
参见https://linux.die.net/man/1/gcc
-lc
将链接libc
(-lfoobar
将链接libfoobar
等)
有关选项和参数的一般信息
UNIX 命令通常接受带或不带空格的选项参数。如果您有一个o
带有参数的选项,arg
您可以写-o arg
或-oarg
。另一方面,您可以组合不带参数的选项,例如-a -b -c
or -abc
。
当您看到时,-lc
您只能从文档(手册页)中找出这是选项-l
和/或带有参数的-c
选项还是单个选项的组合。-l
c
-lc
也可以看看https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html
笔记: gcc
是这个一般概念的一个例外。您不能组合 的选项gcc
。
答案2
-lc
libc
与C 库的链接。
参见描述-l
library
在文档。