当前位置: 技术问答>linux和unix
linux下如何用c++编译so文件,c语言又怎样调用这个so文件
来源: 互联网 发布时间:2016-05-11
本文导语: 因工作原因,需要将c++编译成so文件给c程序调用。 在网上找了个例子,编译通过,运行时出错,提示“段错误”。例子如下,大家帮我分析下。 我模仿这个例子写了个程序,在进行二次封装时竟然编译都不能通过...
因工作原因,需要将c++编译成so文件给c程序调用。
在网上找了个例子,编译通过,运行时出错,提示“段错误”。例子如下,大家帮我分析下。
我模仿这个例子写了个程序,在进行二次封装时竟然编译都不能通过,提示说“syntax error before `*' token”,
相关代码是“CChannelMessage* m_pChannelMessage;”,这条代码在普通g++方式下编译无错误。实在是想不明白。
链接库头文件:
//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
在网上找了个例子,编译通过,运行时出错,提示“段错误”。例子如下,大家帮我分析下。
我模仿这个例子写了个程序,在进行二次封装时竟然编译都不能通过,提示说“syntax error before `*' token”,
相关代码是“CChannelMessage* m_pChannelMessage;”,这条代码在普通g++方式下编译无错误。实在是想不明白。
链接库头文件:
//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