C 學習筆記 分別編譯

2021-08-09 18:38:55 字數 546 閱讀 4551

分別編譯
要點與引申 :

將常量的定義放在同乙個標頭檔案中

將型別的定義寫在標頭檔案中,最好不要把多個型別定義寫在同乙個標頭檔案中

禁止將全域性變數的定義寫進標頭檔案中

每乙個源程式檔案有效語句所在行最好控制在 50 - 500 行之間

程式的實際執行在呼叫 main 之前就開始進行了,在 main 結束以後還可能善後處理**

程式變數寫在不同的原始檔中需要注意:

在不同的編譯單元出現的同一全域性名字其定義和宣告時具有一致的型別

定義函式的時候要使用 inline 的內聯函式的定義方式,一般不會採用普通函式的定義方式。

在不同編譯單元出現的同一全域性變數或函式,有且僅在乙個編譯單元中有定義,其他地方都是 「extern」 宣告

main 函式

每個程式有且僅有乙個main函式

在執行main函式之前,必須對所有的非區域性變數進行例項化 (初始化)。

在同乙個編譯單元中,非區域性變數例項化的順序可以由定義順序確定,在不同的的編譯單元之間,例項化順序無法確定。

學習筆記 分塊

分塊可以解決幾乎全部的區間查詢區間更新等問題,功能比線段樹和樹狀陣列要強大,但是時間複雜度會更大一點。其實分塊就是一種優化過的暴力,它是對於整體進行像線段樹一樣的維護,對區域性進行暴力的修改。顧名思義分塊分塊,我們把長度為n的序列分為若干塊。維護塊內資訊即可。又要問了,要多大呢?通常將塊的大小設為n...

方舟編譯器學習筆記分類與導讀

1 方舟動態 2 方舟的編譯 執行與除錯 3 方舟編譯器的文件分析與驗證 方舟編譯器學習筆記23 虛函式表和介面函式表的分析和驗證 方舟編譯器學習筆記40 maple ir中的基本型別的實現及其與文件中基本型別的對比 4 方舟編譯器的ir設計與分析 總體設計 方舟編譯器與llvm open64的橫向...

PCIe學習筆記分享

本總結隨著dm8168中pcie的學習,以及pcie原理的學習而新增,都是一些零碎的知識點,有部分個人理解,將來溫故知新用。欠奉。pcie裝置需要使用refclk refclk作為本地參考時鐘,其時鐘頻率固定為100mhz,在dm8168系統中,需要提供兩個100mhz時鐘,乙個給dm8168用於檢...