c++ - 构建由 C 和 C++ 文件组成的库

标签 c++ c gcc g++

我有一个 .so 库,其中所有代码都是用纯 ANSI C 编写的,因此编译它很简单。现在,我需要在其中添加 C++ 代码。现在的编译过程是怎样的?

我是否必须使用 g++ 编译 C++ 文件,并使用 gcc 编译其余文件,但是链接到 .so 文件呢?使用 g++ 执行此操作?

谢谢!

最佳答案

是的,

  • 使用gcc编译.c
  • 使用g++编译.cpp
  • g++ 链接

注意:
如果需要从 C 代码调用 C++ 函数,请将其包装在 extern "C"{ ... } 中。

关于c++ - 构建由 C 和 C++ 文件组成的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60284835/

相关文章:

c++ - VS 2010 是否对 malloc 或新内存分配进行边界检查?

c++ - 未定义的行为怪癖 : reading outside a buffer causes a loop to never terminate?

c - c 中的这个堆排序程序不起作用?我使用指针来编辑数组元素

c - sendto 需要很多时间

c++ - #ifndef 是否可以防止循环引用编译器错误?

c++ - 在具有 191 个节点且高度等于 9 的二叉树中找到一个键所需的最大比较次数是多少?

c - 为什么将 `char **` 转换为 `const char **` 不安全?

c++ - 与 friend 一起上课而不是前向声明,: which compiler is correct

c++ - 编译和工作的错误静态常量初始化

c++ - 获取 GCC 选项参数的值