赞
踩
extern"C"是用于在c++中声明c函数的关键字。在c++中函数的名称会根据函数的参数类型和返回类型进行重载,而c函数的名称是通过链接器进行链接的。如果想要在c++中调用一个c函数,就需要使用 extern"C"来告诉编译器以c的方式链接函数。
当在c++中使用 extern"C"修饰一个函数时,编译器会对函数名进行特殊处理,以确保函数名在链接过程中保持与c语言兼容。这意味着c++编译器不会对函数名进行重载或修饰,而是按照c的命名约定来生成函数名。
使用 extern "C" 的主要场景是在c++代码中调用 C 语言编写的库函数。通过使用 extern "C",可以保证 c++代码正确地链接和调用c函数,避免由于函数名修饰导致的链接错误。
需要注意的是,extern "C" 只能用于全局函数和全局变量的声明,不能用于类成员函数。如果需要在 C++ 类中调用c函数,可以将c函数声明为静态成员函数,并在类外部添加 extern "C" 修饰符。
总结来说,extern "C" 是用于在c++中声明c函数,并告诉编译器以c的方式链接函数,以保证在c++代码中正确调用c函数。
myadd.c
- int myadd(int a,int b)
- {
- return a + b;
- }
myadd.h
- #pragma once
-
- #if __cplusplus
- extern "C"{
- #endif
-
- int myadd(int a,int b);
-
-
- #ifdef __cplusplus
- }
- #endif
main.cpp
- #include <iostream>
- #include "myadd.h"
-
- using namespace std;
-
- int main()
- {
- cout << myadd(2,3) << endl;
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。