2017-01-04 80 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()文件的項目。

相關問題