我有一个调用一组函数的程序,如下所示:
int _stdcall VB_Create(char*);
int _stdcall VB_Open(unsigned int, unsigned int, unsigned int, unsigned int);
...
...
如果名称修饰不匹配,链接器会显示如下错误:
error LNK2019: unresolved external symbol "int __stdcall VB_Create(char *)" (?VB_Create@@YGHPAD@Z) .....
我的理解是_stdcall
语法是一个'_' + 'name of the function' + '@' + 'number of arguments * 4'
.
那么,为什么链接器要求进行?VB_Create@@YGHPAD@Z
名称修饰呢?这是什么标准?