C 和 C++ 对同一个函数经过编译后生成的函数名是不同的,由于 C++ 支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的函数名中,而不仅仅是原始的函数名。比如以下函数,同一个函数 test 在 C++ 编译后符号表中生成的函数名可能为 _Z4testv,而 C 编译后符号表中生成的函数名可能为 test。
比如同一个函数:
C++
int test() {
return 0;
}
C++
// 可能出现在 C++ 头文件<cstring>中的链接指示
extern "C"{
int strcmp(const char*, const char*);
}
阅读量:2011
点赞量:0
收藏量:0