GCC擴充套件特性

2021-05-21 13:15:45 字數 390 閱讀 8781

遇到了乙個關於零陣列定義的問題,總結如下:

零陣列的使用的好處是:它在結構裡不占用空間,但是結構可以通過它訪問結構之外的資料。這也給了它的很大的訪問許可權,

因此在通過零陣列訪問之前,一定要檢查訪問範圍的有效性。下面是乙個簡單的例子:

#include

#include

typedef struct array_t;

int data_len = 10;

int main()

輸出結果是:

data[9] = 9

sizeof(array_t) is 4

data[-4] = 10

在網上搜到了這篇文章,值得收藏。

gcc hacks in the linux kernel

GCC擴充套件符( , )

先來說說這兩個擴充套件符的各自用處吧 是將巨集字串化 stringification 是將 左右兩邊的標籤組合在一起 token pasting or token concatenation 下面從兩個簡單例子著手 cpp define ssvar x,y const char x y ssvar ...

C 語言的 GCC 擴充套件

gnu 編譯器 gcc 提供了很多 c 語言擴充套件,編譯器會使用該資訊生成更高效的機器 內聯函式 static inline attribute always inline int foo void 避免內聯 attribute noinline int foo void 純函式 attribut...

Redis的擴充套件特性

訂閱頻道 redis會對你選擇的頻道進行監視,當有人在該頻道發出資訊時你會得到該資訊 subscribe channel channel.psubscribe channel 可以訂閱多個頻道,與subscribe不同的地方是訂閱的頻道能寫成帶有 這些格式 即pattern格式 例 psubscri...