2012-04-15 83 views
1

当我在Eclipse上运行Java程序时,每次运行文件时,编译器都会检查它是否有main,如果有,我可以运行。如果不是,我不能。Eclipse MinGW:如何在一个项目中使用多主模块

但是,当我使用MinGW在Eclipse上运行C++程序(CDT)时,编译器不能像那样工作。编译完成后,不要紧,我从哪个文件运行,编译器会搜索整个项目,找到ONE MAIN因此,如果我有很多主文件,我会收到错误。

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

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

谢谢:)

回答

0

不像在C/C++ Java中,你只能有一个主要

的main()函数是特殊的;通常每个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 

现在你可以决定你想要通过在编译时设置适当的标志使用至极之一。如果没有设置,您将使用默认值#else部分)。

替代方案:排除包含main函数的所有文件,只包含您需要的文件。但是,只有在这些文件不包含main以上的情况下才能使用。

相关问题