C 是否可以从代码中指定链接器选项?

C 是否可以从代码中指定链接器选项?,c,linker,clang,C,Linker,Clang,我想知道是否可以从代码中指定链接器选项?编译器允许pragma指令抑制警告;我们能把它扩展到什么程度?我正在考虑在Linux系统上隐式链接并使用编译器;您可能可以根据您的操作系统调整答案 不,不可能在代码中指定链接选项,请注意,链接器处理的是对象文件,而不是其中的单个函数 但是,您可以从源代码中提取链接器选项。例如,如果您有一个目录,它有许多单源程序,即AA.CC C++源文件编译成A.Bin可执行文件,BB.CC编译成BB.Bin等,您可能会提及< /P> %.bin: %.cc

我想知道是否可以从代码中指定链接器选项?编译器允许pragma指令抑制警告;我们能把它扩展到什么程度?

我正在考虑在Linux系统上隐式链接并使用编译器;您可能可以根据您的操作系统调整答案

不,不可能在代码中指定链接选项,请注意,链接器处理的是对象文件,而不是其中的单个函数

但是,您可以从源代码中提取链接器选项。例如,如果您有一个目录,它有许多单源程序,即AA.CC C++源文件编译成A.Bin可执行文件,BB.CC编译成BB.Bin等,您可能会提及< /P>
%.bin: %.cc
       $(CXX) $(CXXFLAGS) $(shell awk /Link:/{print $2} $<) $^ -o $@
顺便说一句,你可能也有一些能处理你的特定杂注的;如果你用叮当而不是gcc,你也可以有一些;这个新的pragma可以在一个公共Sqlite数据库中添加一些东西,该数据库稍后在链接时使用


所以你可以做一些复杂的事情,但我只是建议你自己来处理链接。

简单地说,没有。你为什么要问?请编辑您的问题以激发它,并提供更多细节。听起来像是感谢你的帮助,XY问题是有道理的。我在考虑是否有可能实现一个基于宏生成不同程序入口点的测试框架,因为这是不可能的,我将使用脚本来实现它:不要忘记使用元编程技术是可能的;你可以有一些脚本生成C或C++代码,或者测试用例,或者编译或链接命令。
/* the link option is
   Link: -lfoo
 */