※ 引述《UNARY.bbs@bbs.cse.ttu.edu.tw (Rootkit Researcher)》之銘言:
> ※ 引述《PCMan.bbs@bbs.sayya.org (PCMan X Project)》之銘言:
> > fread, fwrite 這個是 libc 提供,並非 system call
> > Windows 底下有 _open, _close 之類的....
> > 非標準,可以用
> > #ifdef WIN32
> > #define open(file, mode) _open(file, mode)
> > #endif
> > 應該可以動,然後有些常數可能要再 #define 一下
> int _open(const char *filename, int oflag);
> int _open(const char *filename, int oflag, int pmode);
> _open 可以有第三參數,在實作上是用 ... 可變長度引數同 printf
第三參數如果是... 應該可有可無吧?
就像是 printf 也可以只收一個參數
> 所以定義 open(file, mode) 這樣的 macro 會有問題
當真 @_@,其實我沒有實驗過 XD
> 除非支援 C99 ..
大不了就包個 wrapper
int open(...)
{
_open(...);
}
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: m5-3.ym.edu.tw