gcc編譯中注意的問題

2021-09-12 11:03:19 字數 725 閱讀 9404

例如在原始檔中如何我們的標頭檔案寫成#include "head.c",表示在當前路徑查詢標頭檔案,如果標頭檔案的路徑不在當前路徑,我們可以通過一下方式指定標頭檔案的路徑。

gcc hello.c -i ./標頭檔案路徑  -o  可執行檔案

在我們的程式中往往都會有許多除錯程式,這些除錯程式在完成**後都是要去掉的,所以為了優化**和除錯**的方便,在程式中我們是通過#ifdef  .... #endif來定義除錯**,如果定義了巨集那麼 就執行這個段的除錯**。

我們有兩種方式可以定義除錯巨集,第一種是在乙個標頭檔案中定義全域性的除錯巨集,如果原始檔需要進行除錯,那麼就包含這個標頭檔案;第二種方式就是在編譯的時候指定巨集。

gcc hello.c -o 可執行檔案 -d 除錯巨集

**的優化

gcc hello.c -oi(i =  1,2,3)由三個優化等級,例如以下**

int a = 10;

int b = a;

int c = d;

int e = f;

通過-o3優化之後**變成e = 10;

引數-wall:在程式編譯的過程中顯示警告

例如未使用的變數;

引數 -g ,

程式可除錯,**在除錯的時候會加入除錯資訊,可執行檔案的大小會增加。

紅包秒殺中注意的問題

字段設計使用無符號 更新時使用樂觀鎖 update red goods set remain quantity case case value when remain quantity 扣減數量或者金額 then remain quantity 扣減的數量或者金額 else remain quant...

gitignore 使用中注意的問題

在git中如果想忽略掉某個檔案,不讓這個檔案提交到版本庫中,可以使用修改 gitignore 檔案的方法。這個檔案每一行儲存了乙個匹配的規則例如 此為注釋 將被 git 忽略 a 忽略所有 a 結尾的檔案 lib.a 但 lib.a 除外 todo 僅僅忽略專案根目錄下的 todo 檔案,不包括 s...

GCC編譯問題

gcc高版本 筆者gcc 6.3.0 編譯gcc低版本 筆者gcc 5.1.0 出現如下錯誤 cfns.gperf in function const char libc name p const char unsigned int cfns.gperf 101 1 error const char...