2017-01-04 52 views
1

我不定期写代码。有时我每天都会写代码6个月,然后不要编写长达2年的代码。这种方法迫使我保留一些(或者其他更好的程序员)编写的代码或参考代码。我在长时间编写代码时参考了这个“库”。我读了它,我执行了它,这对于提升自己是一个巨大的帮助。在过去的5年里,这个系统在Java中使用Eclipse & Java的效果非常好。Code :: Blocks中单个项目中的多个主C++文件?

我现在正在学习C++并使用Code :: Blocks。我想以某种方式将一些具有主要方法的C++文件填充到单个Code :: Blocks项目中。我愿意重写代码来实现这个任务(如果它是合理的......)

我不是第一次来寻找这个问题的一种有意义的答案:https://stackoverflow.com/questions/35917504/how-can-i-make-multiple-programs-in-a-single-project-in-codeblockshttps://www.reddit.com/r/learnprogramming/comments/3opp5r/how_to_run_multiple_cpp_files_separately_in_same/

我不想更改IDE或将其与其他IDE进行比较。我正在寻找的是能够执行数百个小程序中的一个,这些程序可以快速方便地在C :: B的可扩展文件树中组织良好。如果我把每个C++文件都放在自己的项目中,我会有很多C :: B项目,这将是不合理的。

我明白C :: B不是Eclipse,C++不是Java,而C :: B打算为每个项目使用一个主函数。

任何答案,甚至非常有创意的答案将不胜感激!脚本,设置,如何重写我的代码,不管 - 如果你有一个建议,我很乐意听到它,所以我可能会考虑它。

为了充分披露,目前我将所有的小程序保留在目录中,并使用操作系统来钻取目录,只需双击C :: B打开的.cpp文件即可。我愿意大幅修改我的代码以实现目标。

谢谢你的时间。

+0

你有更好的答案吗?我也有同样的问题。 – pio

+1

@pio我最终将目录中的所有代码排序 - 每个目录保存相关的源文件。当我想运行特定的.cpp和.h文件时,我从工作区中删除所有当前文件,并放入要处理的文件。这个系统提供了我想要的组织,允许通过CodeBlocks进行编码,并且克服了所有源文件之间只有一种主要方法的限制。 – Mike

+0

thx。 但是每次你想运行的时候删除这些文件还是头疼的问题。这听起来像应该有一种方式来通过代码块管理器运行特定的主要? – pio

回答

1

如何使用预编译器?您可以围绕每一个main有:

#ifdef EXECUTE_EXAMPLE_1 
int main() { return 0; } // example of one of the "mains" in one cpp 
#endif 

#ifdef EXECUTE_EXAMPLE_2 
int main() { return 0; } // another "main" in an other cpp 
#endif 

#ifdef EXECUTE_EXAMPLE_3 
int main() { return 0; } // yet another "main" somewhere else 
#endif 

,创造一个标题下,所有的“电源”,您可以定义一个包含运行:

#ifndef _EXECUTION_HEADER_H_ 
#define _EXECUTION_HEADER_H_ 

// Uncomment one and only one 
#define EXECUTE_EXAMPLE_1 
//#define EXECUTE_EXAMPLE_2 
//#define EXECUTE_EXAMPLE_3 

#endif // _EXECUTION_HEADER_H_ 

这可能是一个快速和肮脏的“打造系统“为你的用例。

0

要编译和运行一个单一的main()文件中的代码::块项目main()文件:

  1. 在左侧的“项目”选项卡,在文件上右键单击你做不是想编译。

  2. 在出现的菜单上,指向Options,并取消选中Compile fileLink file

  3. 这是必须完成的所有你不想编译的文件。

  4. 现在,当项目建成并运行F9时,只会编译所需的文件;其他人将被忽略。

注:没有必要创造代码:: Blocks的一个项目,编译并运行单个文件。要编译和运行单个文件(不创建项目)

  1. 只需点击File - >Empty - >New file

  2. .cpp扩展名将文件保存到任何地方(不在项目中)。

  3. 要编译并运行该文件,只需按F9Build - >Build and run

  4. 然而,这样的文件(没有项目),无法进行调试。正如本答案的早期部分所解释的那样,最恰当的做法是只有一个包含多个main()文件的项目。

相关问题