C 學習記事本

2021-10-06 10:51:10 字數 1194 閱讀 5666

template顯式例項化與隱式例項化

模板例項化都是在編譯期完成的,不管是顯式例項化還是隱式例項化。

區別是隱式例項化只有到編譯器發現某個模板例項需要用到時,才會進行例項化。顯式例項化可以提前告訴模板去為某個型別進行例項化,無論後面會不會用到它。

所以,顯式例項化可以將模板的宣告和定義分離,隱藏實現,前提是我們只會用到被顯式例項化的幾個型別。而隱式例項化不可以,如果分離,編譯時會無法鏈結(因為找不到定義/實現)。

typename使用規範

對於用於模板定義的依賴於模板引數的名稱,只有在例項化的引數中存在這個型別名,或者這個名稱前使用了typename關鍵字來修飾,編譯器才會將該名稱當成是型別。除了以上這兩種情況,絕不會被當成是型別。

鏈結器指令

-i 指定標頭檔案最先搜尋目錄,即最先搜尋的include檔案目錄,-i.為優先搜尋當前目錄下標頭檔案

-l 指定庫檔案最先搜尋目錄,即最先搜尋的lib檔案目錄,-l.為優先搜尋當前目錄下庫檔案

-l 對靜態庫和動態庫的縮寫,就是對對應的後面引數加上lib,然後加上對於靜態庫,字尾為.a,對於動態庫,字尾為.so

-static 由鏈結器構造乙個完全鏈結的可執行目標檔案,可以直接載入執行,而無需更進一步的鏈結,檔案會很大

編譯器指令

-d巨集名 在編譯時定義巨集,-dkey=value為在編譯時定義巨集名為key,值為value的巨集,常用於此處的巨集偉debug,ddebug,來標記編譯形式。

構建庫檔案

-shared -fpic 構建動態鏈結庫,輸出一般為原始檔前加lib後加.so字尾,輸入為源**檔案

對於-fpic無法編譯的檔案,使用-fpic重新編譯,編譯構建工具為gcc,實際構建中使用-shared引數調動鏈結器對以位置無關性引數編譯生成的.o檔案進行鏈結

ar rcs 為構建靜態鏈結庫的工具,輸入為.o檔案,需優先使用gcc將原始檔編譯為.o檔案,再使用ar工具進行構建,輸出為源檔名前加lib後加.a字尾

由此可見,庫檔案都是由.o檔案組合而成

區域性靜態變數

使用區域性靜態變數,來控制第一次呼叫函式和未來呼叫函式的不同操作

static

bool wait =

false;if

(wait)

return0;

}wait =

true

;return

0;

C 實現記事本

今天我用c 編了乙個記事本,效果如下 開啟txt openfiledialog1.filter 文字檔案 txt txt if openfiledialog1.showdialog dialogresult.ok 有乙個openfiledialog1元件 儲存txt 檔案不為空才可以儲存if thi...

個人記事本

size t strlen const char s the strlen function calculates the length of the string s,excluding 不包括 the terminating null byte 0 計算長度時,不包括末尾的結束符 0 但是,換行...

記事本 陳慧琳

翻開隨身攜帶的記事本 寫著許多事都是關於你 你討厭被冷落 習慣被守候 寂寞才找我 我看見自己寫下的心情 把自己放在卑微的後頭 等你等太久 想你淚會流 而幸福快樂是什麼 愛的痛了 痛的哭了 哭的累了 日記本裡頁頁執著 記載著你的好 像上癮的毒藥 它反覆騙著我 愛的痛了 痛的哭了 哭的累了 矛盾心裡總是...