在C++ 程序中调用被 C 编译器编译后的函数 为什么要加 extern “C”?
在C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C”?
参考解答
C++语言支持函数重载,C 语言不支持函数重载。函数被C++编译后在库中的名字
与C 语言的不同。假设某个函数的原型为: void foo(int x, int y);该函数被C 编译器编译后在库中的名字为_foo , 而C++编译器则会产生像_foo_int_int 之类的名字。C++提供了C 连接交换指定符号extern“C”来解决名字匹配问题。
相似问题
如何打印出当前源文件的文件名以及源文件的当前行号?
如何打印出当前源文件的文件名以及源文件的当前行号?
什么时候需要“引用”?
什么时候需要“引用”?
怎样定义一个纯虚函数?含有纯虚函数的类称为什么?
怎样定义一个纯虚函数?含有纯虚函数的类称为什么?
将“引用”作为函数参数有哪些特点?
将“引用”作为函数参数有哪些特点?
一个单向链表 不知道头节点 一个指针指向其中的一个节点 如何删除这个指针指向的节点?
一个单向链表,不知道头节点,一个指针指向其中的一个节点,如何删除这个指针指向的节点?
