我想通过排除或省略一个文件中定义的主方法来编译两个包含 main 方法的文件。
要提供一些背景:
我正在尝试根据我提供的主要方法自动测试学生提交的代码。
我的麻烦是学生代码还包括一个 main 方法。我想知道如何在排除 main 的同时编译(使用 g++)文件。我只想获取他们定义的方法的目标代码,并将其与我的新 main 方法链接。
我宁愿找到一种自动化的方式来做到这一点,而不是被迫手动编辑 100 多个提交以删除/替换主方法。
谢谢
您可以为其文件添加标志-Dmain=main2
。
这主要增加了#define main main2
,这些将用常规方法代替它们的主要。
请注意,由于main
是一种特殊方法,特别是我们可以省略最终return 0;
,您应该调整警告配置,以免在没有return
的情况下拒绝带有main2
的代码(幸运的是,这只是一个警告而不是错误)。