2010-11-26 38 views
0

使用編譯語言(我使用Delphi和FreePascal)繁瑣的編輯,編譯,調試循環時,總會遇到一件事情。最近越來越糟了,現在我開始害怕整個過程,無論何時我需要做出一些改變,特別是當它們只是很小的GUI更改時。如何減少編輯,編譯和調試周期?

我必須等待現在接近60Mb的調試啓用的exes,每次在調試開始前都會生成,恐怕我開始顯示ADD的跡象。我傾向於用東西在做飯的同時我可以做的事來接近發展。

問題是持續時間過長,不能盯着屏幕,太短而無法在回到屏幕前給予其他注意力。

我猜想編譯語言ObjectPascal並不壞,我相信它對C++程序員來說更糟糕。

我可能得到一個帶有24Gb RAM的十六核CPU,以及使這個過程可以容忍的最快的SSD。一些託管服務提供商每月大約需要100歐元。

我們業務

很簡單,我想了一個辦法,創建零件應用,使包含新功能的部分可以單獨發展成獨立的程序,甚至控制檯程序。

這引發了程序參數和結果如何通過的問題,這些都是最初想到的選項。

  1. 找到一種方法來自動將簡單變量,記錄結構或對象轉換爲文本並通過命令行或管道傳遞它們。也許在這裏可以使用JSON,XML或簡單的名稱 - 值對。將參數設計爲流式轉換爲文本格式的TPersistent對象可能是更好的選擇。

  2. 而不是使用命令行,讓它們成爲網絡服務並傳遞參數,或者使它們成爲RESTful/XML-RPC和所有新的webby東西(我現在正在進入一些東西)

  3. 最初將它們設計爲DLL--我懷疑這會帶來一系列不同的問題。

一旦它們經過良好測試,我可以將它們合併到主要的可執行文件中。

我懷疑其他人以前遇到過這個問題,使用ObjectPascal和其他語言,並找到了一種緩解問題的方法。

如果我必須像往常一樣做生意,會使用類似界面的東西有幫助嗎?

我真的需要一些幫助在這裏,否則我可能不得不求助於PHP(喘氣!),甚至爪哇(大喘氣!震撼!恐怖!)或禪(不是編程語言)

+0

是不是可以重新編譯只更改的部分?至少在Java中,這是可能的:P – thejh 2010-11-26 20:47:47

回答

0

將解釋型語言集成到您的應用程序中。如果你有一個C兼容的語言(我不是Delphi或FreePascal的專家),你可以很容易地集成一些常見的解釋語言,如Lua,Python或JavaScript。同樣,我會說,如果你重新編譯整個事物是因爲你改變了GUI,那麼是時候改變你的構建過程了。將不同的模塊編譯到不同的庫中,只重新編譯相關的庫。這也有助於強制封裝,因爲一個DLL不可能使用非導出函數調用另一個DLL。