1.linux程序的静态库
第一个函数源文件f1.cpp
#include <iostream>
void f1(const char* str)
{
std::cout<<str<<std::endl;
}
第二个函数的源文件f2.cpp
#include <iostream>
void f2(const int arg)
{
std::cout<<arg<<std::endl;
}
定义一个头文件lib.h
void f1(const char*);
void f2(const int);
主函数 main.cpp
#include <iostream>
#include "lib.h"
int main()
{
f1("This is a lib function!");
f2(10);
}
g++ -c f1.cpp f2.cpp//编译生成中间文件
ar crv libfirst.a f1.o f2.o //生成库libfirst.a 生成的库文件必须以lib开头
ranlib libfirst.a //函数库内容表,不是必须
g++ -c main.c
g++ -o main main.o libfirst.a//链接生成程序
g++ -o main2 main.o -L. -lfirst //-L指定函数库所在位置,如果为标准位置无需添加,-lfirst 用于告诉编译器使用名为libfirst.a的函数库(或者名为libfirst.so的共享库,如果它存在的话)