軟件開發中的自動化技術

實際的工作中,很多時候都需要在項目編譯完成後做一些工作,或是在編譯前做一些準備工作,它們是重複性的,如果手動操作是一件很麻煩的事情,VS中提供了生成前/生成後執行命令,使用腳本就可以完成大部分需要的操作.

例子(生成後自動將頭文件和庫文件放置在合適的位置)

whenbuilded.bat
copy /y ..*.h .D:/MyLib/Include
copy /y ../Debug/*.lib ../Dir/*.dll .D:/MyLib/Lib
將這個批處理文件設置爲生成後事件就可以了.

 

或者,在生成前要註冊一個COM組件:MyCOM.dll

beforebuild.bat

regsvr32.exe /i MyCom.dll

將這個批處理文件設置爲生成前事件就可以了.

(注意把它們放在項目的目錄中)


Linux下的Makefile文件中,可以在某生成項中添加LShell命令,或單獨加入一個項用來執行自動處理,一般將其放在最後(生成完畢之後).
模板:
CXX=g++

AllObjects = xxxx.o

#ShellCmd表示要執行的Shell命令,是一個獨立的項
FinalCreated: ShellCmd libMine


ShellCmd: $(AllObjects)
    ls -l
    cp *.h destdir

    cp *.so destdir              

這是最簡單的應用,可以用你的腳本來擴展它.

其實這些簡單的工作能減少你不少工作負擔,因爲項目一般都有一個反覆的調試過程.

發佈了36 篇原創文章 · 獲贊 2 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章