C++ 多个文件编译——函数调用——静态库、动态库

前言

使用编辑器编写好的c++代码,怎么去编译,中间会形成什么样的文件,我去一探究究竟。

一、为什么要编译?

把我们写的高级语言转化成二进制的机器码。

二、编译

在这里插入图片描述
编写2个函数.cpp,一个头文件,一个主函数。主函数分别调用2个主函数。

1.编译所有的cpp文件

g++ *.cpp -o main

2.编译为静态库

g++ -c *.cpp
ar cqs libfunc.a test_founction.o fun.o
g++ main.cpp -o main libfunc.a

3.编译为动态库

g++ -fPIC -shared -o libzhongzhobong_dy.so *.cpp
g++ main.cpp -o mian libzhongzhobong_dy.so

4.编译文件不在同一级目录

g++ *.cpp ./function/*.cpp -o main2

使用命令指定文件的路径。

cannot open shared object file: No such file or directory

export LD_LIBRARY_PATH=/home/%%%%%/study/test1:$LD_LIBRARY_PATH

5.makefile

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZhiBing_Ding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值