0
讓我想簡化工作流程,這樣,而不是發出這些命令調用從構建
$ make program_unittest
... output of $MAKE ...
$ ./program_unittest args
我可以有我的程序自動嘗試編譯本身(如果源已被更新),當它是跑步,這樣我就不必回去跑步了。
下面是我的想法:我的單元測試版本應該首先檢查它所在的目錄中是否有makefile,如果是,則fork和exec make
,目標對應於它自己。如果make
確定「無事可做」,它將繼續運行(運行單元測試)。但是,如果make
實際執行編譯,則可能發生以下兩種情況之一。 gcc
(由make
調用)可能能夠在編譯過程中覆蓋構建版本(其中的較舊版本已在運行),在這種情況下,我可以隨後執行它。如果我的系統不允許gcc
覆蓋正在使用的程序,那麼我必須在運行make
之前退出程序。
所以這已經變得相當複雜了。有沒有更優雅的解決方案?也許我可以使用bash腳本?如何確定make
是否發佈了編譯命令?
非常有效,這一點是。 –