gcc - 未知开关(手册页中也没有)

DDS*_*DDS 7 compiling gcc dynamic-linking

我正在尝试使用共享对象并在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
Run Code Online (Sandbox Code Playgroud)

我浏览了手册页和在线,但我没有找到-lc开关的作用,有人可以告诉我吗?

Bod*_*odo 26

该选项显示为“ -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-abc
当您看到时,-lc您只能从文档(手册页)中找出这是 options-l和/-c或 option -lwith argumentc还是单个 option 的组合-lc

另见https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html

注意: gcc是这个一般概念的一个例外。您不能组合gcc.

  • 你不能将选项与 `cc` 结合,即使它们不带任何参数(你不能用 `cc -cg` 代替 `cc -c -g`。 (2认同)

Ste*_*itt 8

-lclibcC 库链接。

请参阅文档-llibrary的说明