gnu-make中的-lrt标志是什么?

Oca*_*shu 8 gcc gnu-make

在gnu-make进程的后期阶段,gmake发送了一个类似于的命令:

gcc -static foo.so.0 bar.o bizz.o buzz.o -pthreads -lrt
Run Code Online (Sandbox Code Playgroud)

在那个命令中,-lrt是什么意思?

Mad*_*ist 9

这与make无关; make永远不会自己添加这样的旗帜.谁写了你的makefile将自己的标志添加到链接行.这是一个编译命令,-lrt是传递给编译器的标志.该-l标志指定您应该与库链接,并且库的名称如下; 因此,-lrt它意味着"与rt图书馆的链接".这会导致链接器查找名为librt.alibrt.so(对于共享库)的库,并将它们与输出文件链接.

  • 对于刚从 Google 出来的人来说,“librt”代表“实时扩展”,具有“clock_gettime()”、“fork”和“nanosleep()”等函数。 (7认同)