systemcall標頭檔案巨集值定義

2021-08-31 09:19:02 字數 507 閱讀 5032

long syscall(longnumber, ...);
syscall的第乙個引數number根據例子程式都是使用sys_*,**定義的呢?

根據man 2 syscall可以看到number是使用的 #include 標頭檔案,

裡面又#include 和  # include

其中asm/unistd.h裡面根據平台不同最終引入了asm/unistd_*.h標頭檔案

裡面定義了__nr_*

bits/syscall.h裡面又根據__nr_* define了sys_*

所以最終可以使用sys_*

具體的名字都是有規則的,根據系統呼叫名字加速sys組成,可以自行搜尋。

C 標頭檔案 巨集 編譯問題

2019 02 15 小記 c 標頭檔案的防重複包含是針對同乙個原始檔而言 原因 include 標頭檔案就是一段 的拷貝,標頭檔案中若有型別定義等,重複包含就會造成編譯錯誤,若無型別定義等不造成重複定義的,則無需防重複包含機制 防重包含機制 pragma once ifndef macro def...

glibc標頭檔案和巨集定義

標頭檔案沒啥好說的,無非就是 和 的區別,這估計只要是學過c c 的人都明白。現在的編譯器對頭檔案的包含順序沒有要求,但老的c實現則不一樣。當然,我們現在無需關心標頭檔案順序了。我們為啥要包含標頭檔案呢?標頭檔案裡面有定義嘛,使用任何函式之前都必須定義該函式。所以我們並不強求包含標頭檔案,只要你自己...

庫標頭檔案的匯入匯出巨集

ifdef cfg api being compiled ifdef win32 define cfg api export declspec dllexport else define cfg api export endif else if defined win32 define cfg ap...