关闭

C程序和C++程序间如何互相调用

发表于:2014-8-26 09:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张伟    来源:51Testing软件测试网采编

  〈一〉如何实现C中调用C++
  链接库头文件:
//head.h
class A
{
public:
A();
virtual ~A();
int gt();
int pt();
private:
int s;
};
.cpp
//firstso.cpp
#include
#include "head.h"
A::A(){}
A::~A(){}
int A::gt()
{
s=10;
}
int A::pt()
{
std::cout<<s;
}
  编译命令如下:
  g++ -shared -o libmy.so firstso.cpp
  这时候生成libmy.so文件,将其拷贝到系统库里面:/usr/lib/
  进行二次封装:
.cpp
//secso.cpp
#include
#include "head.h"
extern "C"
{
int f();
int f()
{
A a;
a.gt();
a.pt();
return 0;
}
}
  编译命令:
  gcc -shared -o sec.so secso.cpp -L. -lmy
  这时候生成第二个.so文件,此时库从一个类变成了一个c的接口.
  拷贝到/usr/lib
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号