GCC測試包的原理

2021-05-10 15:43:47 字數 881 閱讀 2039

gcc testsuite

目錄下的測試程式,有下面特點

1對測試時,

gcc工作到哪一步的指示,是寫在注釋裡的,例如注釋「

// 」表示對當前

c檔案只編譯而不執行,「

// 」表示編譯並執行。

2對前端的測試也在注釋中指定,例如對下面程式行

printf ("%hhn", s); /* */

行尾的注釋表示編譯該行時,應產生一條

warning

資訊,以及

warning

資訊應匹配的格式。類似的,

dg-error

表示編譯對應程式行時,應產生一條

error

資訊。3

對於執行結果是否正確的驗證,有一部分是寫在程式裡,當比較的結果不對時直接呼叫

abort()

另一部分與輸入

/輸出有關的驗證,可能是通過

expect

指令碼也完成的。

expect

指令碼中啟動這個程式(用

spawn命令)

,當程式要求輸入時,用

send 「string」

命令將乙個字串傳送給程式,之後呼叫

expect 」outstring」

命令等待程式的輸出時與預期是否匹配,

outstring

可以是乙個正規式,比如

expect –re 「.*abc$」

表示輸出結果應以

abc結尾

4還有一些注釋是指定目標機的,例如注釋

}表示當前機器僅是這些目標機時,才測試當前

c程式。

這些指示性注釋在

gcc internal 6.4.2

gcc編譯原理

引言 gcc現在的意思是 gun編譯器集合 這裡說的是上個世紀的意思 gun c語言編譯器 2.1程式的一般編譯過程 以gcc為例 一般情況下,比如我們有乙個原始檔 main.c,裡面寫的是我們的 想執行以下,gcc main.c,執行以下這個命令就會生成乙個a.out的檔案。然後.a.out就可以...

gcc 編譯 鏈結原理

使用 ld linux.so.作為直譯器,是寫在二進位制檔案中的,比如上面編譯好的 demo 中。另外的,2 其它庫的查詢和載入,則是 ld linux.so.完成的。ldd 可執行檔名 檢視可執行檔案鏈結了哪些 系統動態鏈結庫 strip 可執行檔名 去除符號表可以給可執行檔案 ldconfig ...

測試 安裝包的測試

交流學習,不斷總結 借鑑,知識分享 移動端安裝包的測試 測試項 測試子項 輸入說明 預期結果 備註 實際結果 測試結果 移動端安裝包的測試 移動應用的安裝 安裝手冊是否規範,是否簡潔,是否通俗易懂。安裝手冊是否齊全,正確,有改動時,文件是否同步更新 直接複製安裝程式到電腦上,能否正常安裝 按安裝手冊...