linux c/c++库

1.默认库的路径

linux系统默认将 /lib和/usr/lib 作为库的搜索路径。在g/g++编译时,如果使用的库在这两个路径中,无需指定库的路径。

2.自己打包的库文件

2.1

需要用 -L指定路径 -l指定库文件名
文件目录如下

.
├── include
│        └── swap.h
├── main.cpp
└── src
     ├── libswap.a
     ├── libSwap.a
     ├── swap.cpp
     └── swap.o

(libswap.a libSwap.a 是我用swap.cpp打包的静态库
  -l+(Swap)或者 -l+(swap)分别连接libSwap.a libswap.a
   main.cpp连接静态库命令如下:)

  g++ main.cpp -Lsrc -lswap  -Iinclude -o staticmain

2.2

也可以将打包的 libswap.a 复制到/lib或/usr/lib

这样就无需用-I指定库的路径 只用-l指定库名即可

  g++ main.cpp  -lswap  -Iinclude -o staticmain

3代码

swap.h

void swap(int &a, int &b);

main.cpp

#include <iostream>
#include "swap.h"
using namespace std;

int main(int argc,char **argv){
        int val1 = 10;
        int val2 = 20;

        cout << "Before Swap:" << endl;
        cout << "val1 = " << val1 << endl;
    cout << "val2 = " << val2 << endl;
        swap(val1, val2);
        cout << "After Swap:" << endl;
    cout << "val1 = " << val1 << endl;
        cout << "val2 = " << val2 << endl;

        return 0;
}

swap.cpp

#include "swap.h"

void swap(int &a, int &b){
        int temp;
        temp = a;
        a = b;
        b = temp;
}
posted @ 2021-05-25 15:01  卞卞卞中山呀  阅读(309)  评论(0)    收藏  举报