gcc 学习笔记-创建静态库-创建动态库


  // "SayHello.h"
  class SayHello{
  public:
  void say();
  void sayhi();
  };
  //SayHello.cpp
  #include "SayHello.h"
  #include
  using namespace std;
  void SayHello::say(){
  cout<<"hello"<
  }
  //SayOther.cpp
  #include "SayHello.h"
  #include
  using namespace std;
  void SayHello::sayhi(){
  cout<<"hi"<
  }
  //Main.cpp
  #include "SayHello.h"
  int main(){
  SayHello* sayHello=new SayHello();
  sayHello->say();
  sayHello->sayhi();
  return 0;
  }
  创建静态库
  用 -c 参数生成目标文件但不链接
  g++ -c SayHello.cpp g++ -c SayOther.cpp
  这样各生成一个 .o 的文件
  打成静态库名为 libHello.a
  ar -r libHello.a SayHello.o SayOther.o
  这样当 Main.cpp 用到库时就这样编译
  g++ Main.cpp libHello.a -o Main 就会生成名子为 Main 的可执行文件
  创建动态库
  同样先生成目标文件不链接
  g++ -c -fpic SayOther.cpp
  g++ -c -fpic SayHello.cpp
  -fpic 的意思是位置独立代码 ,指示编译程序生成的代码要适合共享库的内容这样的代码能够根据载入内存的位置计算内部地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值