400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

linux编译c++静态库(包含类的实例化)给c程序调用-创新互联

文章目录

创新互联建站-成都网站建设公司,专注成都网站制作、成都网站设计、外贸营销网站建设、网站营销推广,域名与空间,雅安服务器托管,网站改版维护有关企业网站制作方案、改版、费用等问题,请联系创新互联建站。使用场景

c++ 是面向对象的编程语言,比较方便实现某些第三方库,比如翻译其他面向对象语言的代码,比 c 语言要方便的多。而 c 语言跟 c++ 很亲和,可以用 c++ 来实现,编译成静态库,提供给 c 程序使用。 至于用静态库而不是动态库,是因为静态库会打包到 c 程序中,不需要依赖运行场景中是否有该库的存在,方便部署。当然,如果第三方库的代码量太大,直接打包导致程序体积膨胀剧烈的话可以考虑动态库。

代码示例编译
#生成类库中间文件 myclass_wrapper.o myclass.o, -O0 -ggdb 是为了 gdb 调试的时候信息更完整。
g++ -std=c++11 -O0 -ggdb -c src/myclass_wrapper.cpp src/myclass.cpp -Iinclude

#打包中间文件为静态库 libmyclass.a
ar -r libmyclass.a myclass_wrapper.o myclass.o

#编译 c 示例程序, -lstdc++ 是链接 c++ 标准库,为了在用到类似的 c++ 库时能编译通过。
gcc -std=c99 -O0 -ggdb main.c -o main -L./ -I./include -lmyclass -lstdc++
运行示例程序
./main

在这里插入图片描述

参考文章
  • C调用C++库和C++调用C库的方法

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:linux编译c++静态库(包含类的实例化)给c程序调用-创新互联
本文URL:http://mzwzsj.com/article/ehsjp.html
  • 网站建设专属方案

  • 网站定制化设计

  • 7X24小时服务

  • N对管家服务

让你的专属顾问为你服务