[英]Unusual C function declaration
我目前正在使用旧的C库(在90年代早期制作),以下函数声明使我感到困惑:
#define bland_dll
typedef unsigned short int usint;
typedef unsigned char uchar;
int bland_dll Read_Chan (usint channel);
bland_dll
在函数名和它的返回类型之间做了什么?
谢谢你的灯!
它是一个宏定义为空,所以当预处理时它结果是:
int Read_Chan (usint channel);
我怀疑,它是从早期声明DLL链接类型的延续,例如pascal
,它对链接器有特殊意义。 另一个例子是__cdecl
。
为了完成编译器链接机制的特性:
__stdcall
__fastcall
__cdecl
它们中的每一个都影响了链接器在编译时管理名称修饰的方式,并且可能由于链接时间开关的不同而导致链接到第三方DLL的连接。
编辑 :谢谢放松修正。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.