從中我們可以得出 __init 是告知編譯器,将變量或函數放在一個特殊的區域,
這個區域定義在vmlinux.lds中。__init 将函數放在代碼段的一個子段
".init.text"(初始化代碼段)中,__initdata将數據放在數據段的子段
".init.data"(初始化數據段)中。标記_init的函數,表明該函數在使用
一次後就會被丢掉,講占用的内存釋放
__DATE__:在源文件中插入當前的編譯日期
__TIME__:在源文件中插入當前編譯時間;
__FILE__:在源文件中插入當前源文件路徑及文件名;
__LINE__:在源代碼中插入當前源代碼行号;
__STDC__:當要求程序嚴格遵循ANSI C标準時該标識被賦值為1;
__FUNCTION__:可以用于程序錯誤時打印錯誤位置
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__)
struct 結構體名{
結構體所包含的變量或數組
};
例子:
struct stu{
char *name; //姓名
int num; //學号
int age; //年齡
char group; //所在學習小組
float score; //成績
};
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!