C语言 生成文件:参数化,以便编译编号最高的文件



我正在构建一个make文件,我希望它能够容忍我有多个main方法的事实,并且可能只考虑具有最高字母值的文件作为入口点。

有没有办法做到这一点或类似的东西?

有几种方法可以做到这一点,具体取决于您想要或需要做出该决定的级别。以下是我所知道的三个:

  • 在实际构建内容之前,通过调用 $(shell find | grep)$(shell grep -R ...) 来识别仅要构建的文件(包含)或过滤掉不要构建的文件(排除),找出要构建的内容。
  • 使用 objdump 分析目标文件并过滤掉除最后一个文件之外具有main()功能的文件。您可以将$(shell sort ...)用作帮助程序或$(sort ...)
  • 如果您知道哪些对象可以包含make,并且您正在使用编译器/链接器组合,该组合允许可以隐藏弱声明,则可以在对象列表中使用$(sort)$(lastword)获取具有"最高名称"的对象,并将其放在链接器文件列表中的第一个(或最后一个,具体取决于链接器解析的方式)。

相关内容

  • 没有找到相关文章