全部博文(5)
分类: WINDOWS
2010-12-27 22:04:59
LPVOID是一个没有类型的指针,也就是说你可以将任意类型的指针赋值给LPVOID类型的变量(一般作为传递),然后在使用的时候再转换回来。 可以将其理解为long型的指针,指向void型。
头文件windef.h中有
typedef void far *LPVOID
32-bit指针,指向一个未指定类型的数据
例如:
|
那么void是什么东西?
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
far又是什么东西
far关键字就是和内存寻址有关。因为代码段和数据段都有一定的限制,比如64K。默认是near近指针,数据和代码可以从本段内调用。如果要调用段外的变量或函数就要声明成far远指针,典型的用法就是调用DLL的远堆变量,它是“远”的。far和near在现在Win32平台下没什么关系了 因为现在内存寻址是flat模式, 也就是平坦的4GB寻址.
chinaunix网友2011-01-03 14:47:06
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com