1

当我在 Eclipse 上运行 Java 程序时,每次运行文件时,Compiler 都会检查它是否有main,如果有,我可以运行。如果没有,我不能。

但是当我使用 MinGW 在 Eclipse 上运行 C++ 程序 (CDT) 时,在 Compiler 中并不能那样工作。编译后,无论我从哪个文件运行,编译器都会搜索整个项目以查找ONE MAIN所以,如果我有很多主文件,我会收到错误消息。

请在 Eclipse 中告诉我,如何处理 C++ 编译器以拥有多个主文件并像在 Java 上一样工作:它只是找到main我从哪个文件运行。

@:我有多个主文件仅用于调试目的。!!!

谢谢 :)

4

1 回答 1

0

与 C/C++ 中的 java 不同,您只能拥有一个main:

main() 函数比较特殊;通常每个 C 和 C++ 程序都必须只定义一次

来源

但是:作为一种解决方法,您可以使用预处理器来决定main您要使用哪个。

例子:

#ifdef FIRST_MAIN
int main(int argc, char** argv)
{
    printf("first");

    return (EXIT_SUCCESS);
}
#elif SECOND_MAIN
int main(int argc, char** argv)
{
    printf("second");

    return (EXIT_SUCCESS);
}
#else
int main(int argc, char** argv)
{
    printf("default");

    return (EXIT_SUCCESS);
}
#endif

现在您可以通过在编译时设置适当的标志来决定要使用的那个。如果没有设置,您将使用默认的(#else部分)。

替代方案:main从编译中排除所有包含 -function 的文件,仅包含您需要的文件。但是,这仅在这些文件不包含超过main.

于 2013-02-04T23:03:14.190 回答