C語言相關指令

2021-10-07 15:27:35 字數 641 閱讀 3711

1、__restrict

用於限定和約束指標,並表明指標是訪問乙個資料物件的唯一且初始的方式.即它告訴編譯器,所有修改該指標所指向記憶體中內容的操作都必須通過該指標來修改,而不能通過其它途徑(其它變數或指標)來修改。

2、__attribute__

__attribute__可以設定函式屬性、變數屬性和型別屬性,也可以用來設定結構體和unio的屬性

語法格式為:__attribute__ ((attribute-list))

attribute-list有六種,即:aligned, packed, transparent_union, unused, deprecated和may_alias

例如:typedef int int32_t __attribute__ ((aligned (8)));

強制編譯器確保變數型別為int32_t的變數在分配空間時採用8位元組對齊方式。

3、#pragma

作用是設定編譯器的狀態或者是指示編譯器完成一些特定的動作

4、volatile

用來宣告變數,如volatile int a;,這樣變數a將不受編譯器優化選項的影響,保證值可以被手動更改。

5、_declspec

如__declspec(align(#)),使得結構體中的變數對齊。

AT指令框架 C語言

本文件記錄設計的at指令框架,使用時只需要簡單增加修改指令和執行指令函式 一 指令結構 typedef enum at cmd typedef unsigned char pfunc unsigned char ptr,unsigned char len typedef struct at cmd ...

c語言中條件編譯相關的預編譯指令

條件編譯是根據實際定義巨集 某類條件 進行 靜態編譯的手段。可根據表示式的值或某個特定巨集是否被定義來確定編譯條件。最常見的條件編譯是防止重複包含標頭檔案的巨集,形式跟下面 類似 1 ifndef abcd h 2 define abcd h34 some declaration codes56 e...

c語言中條件編譯相關的預編譯指令

條件編譯是根據實際定義巨集 某類條件 進行 靜態編譯的手段。可根據表示式的值或某個特定巨集是否被定義來確定編譯條件。最常見的條件編譯是防止重複包含標頭檔案的巨集,形式跟下面 類似 1 ifndef abcd h 2 define abcd h34 some declaration codes56 e...