gch檔案學習

2021-09-09 02:42:19 字數 512 閱讀 9035

今晚學習友元函式的時候一點一點的在寫乙個標頭檔案和乙個原始檔,中間g++ test.h了一下,無意中就生成了test.h.gc**件。後來修改了標頭檔案的內容,但是不知道為什麼一直各種出錯,一番折騰之後才發現原來就是gc**件的原因,gch在編譯器中不會因為修改了標頭檔案去作更新修改,所以在每一次的編譯時編譯器都會去先查詢標頭檔案對應的gc**件,如果發現就直接呼叫gc**件,導致新修改的標頭檔案並沒有起作用。解決方法就是刪除原先的gc**件了,或者別沒事兒就g++你的標頭檔案。。

簡單說一下gc**件

概念:gch即預編譯頭,將標頭檔案預編譯為二進位制**後後續編譯使用。當多個原始檔包含乙個標頭檔案,正常流程是將其在每個原始檔中解析一遍,造成重複浪費。使用gch,將標頭檔案作預編譯頭形成中間處理的二進位制**,然後再包含進原始檔中。

適用:gch適用於被多個原始檔包含的標頭檔案,且標頭檔案不會經常做修改。

注意:gch提高了編譯速度,但需要注意在預設情況下gch不會因為標頭檔案的更新而更新,從而在編譯過程中形成乙個不容易發現的坑。需要將標頭檔案和gch設定為依賴關係。

XML檔案學習

xml cdata 文字 所有 xml 文件中的文字均會被解析器解析。只有 cdata 區段 cdata section 中的文字會被解析器忽略。xml 解析器通常會解析 xml 文件中所有的文字。當某個 xml 元素被解析時,其標籤之間的文字也會被解析 此文字也會被解析解析器之所以這麼做是因為 x...

fstab檔案學習

孫曉明,華清遠見嵌入式學院 講師。我們在linux系統裡面的 etc 目錄下有乙個fstab檔案,那這個檔案的作用是什麼呢?其實這個檔案裡面存放的是系統中的檔案系統資訊。當正確的設定了該檔案,我們就可以通過mount 任意目錄 命令來載入乙個檔案系統,比如說我們新新增了一塊硬碟分割槽,那麼我們就可以...

fstab檔案學習

我們在 linux系統裡面的 etc 目錄下有乙個fstab檔案,那這個檔案的作用是什麼呢?其實這個檔案裡面存放的是系統中的檔案系統資訊。當正確的設定了該檔案,我們就可以通過 mount 任意目錄 命令來載入乙個檔案系統,比如說我們新新增了一塊硬碟分割槽,那麼我們就可以加入如下命令 dev sdb1...