簡體   English   中英

__(兩個下划線)在Hpux C程序中代表什么

[英]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編譯的。

有人可以讓我知道上面代碼中fcntlcreat之后2個下划線的含義嗎?

這很可能是一個宏,它使標頭可以與舊的ANSI C之前的舊編譯器一起使用。
“舊樣式” C函數聲明不包含參數類型。

我懷疑它的定義看起來像這樣

#ifdef __STDC__
#define __(params) params
#else
#define __(params) ()
#endif 

我相信類型安全函數原型是C從C ++采納的第一種語言功能。
我記得這一事實使我感到非常非常老。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM