【C++】VS2015查看代码中空的宏定义

起因

今天写socket的程序,看到send函数的内部定义,看到有一个FAR的宏定义,表示非常不理解,于是继续点开FAR的定义

【C++】VS2015查看代码中空的宏定义_第1张图片
看到FAR的定义表示为另外一个宏定义far,于是再打开far的定义一探究竟
【C++】VS2015查看代码中空的宏定义_第2张图片
最后发现far的定义是空的
【C++】VS2015查看代码中空的宏定义_第3张图片

空宏定义的作用

查询了相关资料后,应该是多平台之间不同的编译器有不同的编译选项,只是为了以后其它平台有需要添加的或扩展的编译时选项而预留的。例如在VC环境下进行回调函数的声明时,很多时候都会加上_stdcall、_cdecl、 _fastcall这三个在windows平台下指定函数调用的方式的编译选项。所以,这种定义为空的宏的作用是预留下以后平台移植时的其它选项的定义。应该仅仅是为了移植的方便。
有时候也有可能只是为了对函数进行标识,说明。

你可能感兴趣的:(C++)