[英]What does __ (two underscores) stand for in Hpux C program
我在HPUX C程序中看到以下代碼:
extern int fcntl __((int, int, ...));
_LF_EXTERN int creat __((const char *, mode_t));
這些行是使用aCC編譯的。
有人可以讓我知道上面代碼中fcntl
和creat
之后2個下划線的含義嗎?
這很可能是一個宏,它使標頭可以與舊的ANSI C之前的舊編譯器一起使用。
“舊樣式” C函數聲明不包含參數類型。
我懷疑它的定義看起來像這樣
#ifdef __STDC__
#define __(params) params
#else
#define __(params) ()
#endif
我相信類型安全函數原型是C從C ++采納的第一種語言功能。
我記得這一事實使我感到非常非常老。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.