GC/C++ 从编译中省略了 main,在单独的文件中提供 main



我想通过排除或省略一个文件中定义的主方法来编译两个包含 main 方法的文件。

要提供一些背景:

我正在尝试根据我提供的主要方法自动测试学生提交的代码。

我的麻烦是学生代码还包括一个 main 方法。我想知道如何在排除 main 的同时编译(使用 g++)文件。我只想获取他们定义的方法的目标代码,并将其与我的新 main 方法链接。

我宁愿找到一种自动化的方式来做到这一点,而不是被迫手动编辑 100 多个提交以删除/替换主方法。

谢谢

您可以为其文件添加标志-Dmain=main2

这主要增加了#define main main2,这些将用常规方法代替它们的主要。

请注意,由于main是一种特殊方法,特别是我们可以省略最终return 0;,您应该调整警告配置,以免在没有return的情况下拒绝带有main2的代码(幸运的是,这只是一个警告而不是错误)。

相关内容

最新更新