在C++中,当使用dllimport
指令导入外部DLL中的函数或变量时,可能会遇到名称重整(Name Mangling)的问题。名称重整是编译器在编译时对函数或变量名进行加密处理,以确保函数或变量名的唯一性。
为了解决名称重整问题,可以在使用dllimport
指令时使用extern "C"
关键字,告诉编译器不要进行名称重整。例如:
extern "C" {
__declspec(dllimport) void MyFunction();
}
使用extern "C"
关键字可以告诉编译器使用C语言的命名规则,避免名称重整。这样就可以正确导入外部DLL中的函数或变量,而不会出现名称重整导致找不到对应函数或变量的问题。