C调用C++示例代码及方法简述

1. C++代码及C主进程代码

  • c++程序代码test.cc

  • 头文件test.h这个文件为C代码直接调用头文件,不要存在任何C++相关代码;
  • 添加宏定义#ifdef __cplusplus extern "C" { #endif 便于在c和c++代码中引用该头文件。

  • main主进程代码

  • 这里需要添加extern void fun(),能够找到C++源码中以C编译的该函数;

2. 编译和链接

  1. 步骤一:编译C++方法,执行命令
  • 报错“在函数‘_start’中:(.text+0x20):对‘main’未定义的引用”
      这里需要添加-c参数,告诉编译器,编译、汇编到目标代码test.o,不进行链接;

  1. 步骤二:方法一 gcc生成可执行文件

  1. 步骤二:方法二 生成静态库并gcc进行链接

  1. 结果输出

赞赏

微信赞赏支付宝赞赏

发表评论

邮箱地址不会被公开。 必填项已用*标注