当我在Eclipse上运行Java程序时,每次运行一个文件时,编译器都会检查它是否有main,如果有,我就可以运行。如果不是,我不能。
但是,当我使用Engw在Eclipse上运行C++程序(CDT)时,编译器不能这样工作。编译之后,不管我从哪个文件运行,编译器都会搜索整个项目以找到一个主文件,所以,如果我有多个主文件,我将收到错误。
请在Eclipse中告诉我,如何对待C++编译器拥有多个主文件,并在Java上工作:它只找到我从哪个文件运行的main
@:我有多个主文件,只是为了调试。!!!
谢谢:)

最佳答案

与C/C++中的Java不同,你只能有一个主要部分:
主()函数是特殊的;通常每个C和C++程序都必须
准确定义一次。
source
但是:作为一种解决方法,您可以使用预处理器来决定要使用哪个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

现在,您可以通过在compiletime设置适当的标志来决定要使用哪一个。如果未设置,则使用默认值(#else部分)。
备选方案:从编译中排除所有包含main-函数的文件,只包括所需的文件。但是,只有当这些文件包含的内容不超过main时,这才起作用。

关于c++ - Eclipse MinGW:如何在一个项目中具有多主体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10161194/

10-11 22:47
查看更多