最近在工作中遇到了修改C++代码嵌入到C代码中去,C肯定不能直接用C++代码,就需要自己去修改成C代码,所以我就决定在C中调用C++动态库(谁让我懒呢),话不多说,直接上步骤
第一步:编写C++代码
int_sum.cpp:
#include "int_sum.h"
int int_sum(int num0, int num1)
{
return num0 + num1;
}
int_sum.h:
#ifndef __READ_DIR_H__
#define __READ_DIR_H__
#ifdef __cplusplus
extern "C" {
#endif
int int_sum(int num0, int num1);
#ifdef __cplusplus
}
#endif
#endif
第二步:编成动态库
g++ -fPIC -shared -o libint_sum.so int_sum.cpp int_sum.h
成功如下图所示:
第三步:编写C代码
test.c:
#include
#include "int_sum.h"
int main()
{
int sum = int_sum(1, 2);
printf("%d\n", sum);
return 0;
}
第四步:调用动态库,生成可执行程序,并执行程序
g++ -L. -lint_sum test.c -o test
成功如下图所示:
到这里就大功告成辣,总的来说还是比较简单的,但是在工作中再简单的东西,不经常使用也是会很容易忘记的,每次都去百度都是时间成本的浪费,所以做好笔记是一件非常重要的事情,以后遇到类似问题直接查阅,提高工作效率
手机扫一扫
移动阅读更方便
你可能感兴趣的文章