关于C++编程语言的问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 03:14:13
一下是一段MSDN中的说明:

WSABUF
typedef struct __WSABUF {
u_longlen; // buffer length
char FAR *buf; // pointer to buffer
} WSABUF, FAR * LPWSABUF;

Members
len
The length of the buffer.
buf
A pointer to the buffer.

想知道“__WSABUF”前面的为什么会有下划线?还有就是“FAR”是个什么东东?
问题比较幼稚,希望的到解答,呵呵。
既然以后要调用的是WSABUF,那么为什么不直接定义为WSABUF,但是先定义为__WSABUF,然后又typedef为WSABUF,这不是多此一举吗?

要看到这个是typedef,只是定义一个结构体,实际上它是想在以后的时候都用 WSABUF,但是这里定义的时候总得有个名字是吧,所以就加了一个下划线。
至于FAR指针,是16位操作系统的概念,那里FAR指针可以跳段(操作系统内存管理的概念),现在的32位系统已经没什么用了。

他的意思是,以后只要是结构体都用WSABUF
WSABUF amm;相当于struct __WSABUF amm;