如何写手机适配网站,房屋网站模板,wordpress 标题栏 居中,乐清网站推广一 引言
《一文说清#xff1a;windows下C静态库的封装和调用》中说了#xff1a; 静态库允许开发者在多个项目中复用代码#xff0c;减少重复劳动#xff0c;并增强程序的可维护性。并讲述了windows环境下创建、封装以及调用C静态库的过程。
本文则描述了#xff0c;如…一 引言
《一文说清windows下C静态库的封装和调用》中说了 静态库允许开发者在多个项目中复用代码减少重复劳动并增强程序的可维护性。并讲述了windows环境下创建、封装以及调用C静态库的过程。
本文则描述了如何在Linux环境下创建、封装以及调用C静态库的过程并附上源代码
编译环境RedHat
二 静态库的封装
1 编写头文件和源文件
包括TestLib.h和TestLib.cpp。
TestLib.h文件如下 #ifndef TEST_LIB_H
#define TEST_LIB_Hclass TestLib
{
public:TestLib(void);~TestLib(void);void show();private:int x;int y;
};#endifTestLib.cpp文件内容如下
#include TestLib.h#include iostream
using namespace std;TestLib::TestLib(void)
{x 0;y 0;
}TestLib::~TestLib(void)
{
}void TestLib::show()
{cout x: x endl;cout y: y endl;
}2 编译成目标文件
命令如下
g -o TestLib.o –c TestLib.cpp此时目录下多了一个TestLib.o文件。
3 编译成静态库
命令如下
ar –rc lib.a TestLib.o其中lib.a就是期望生成的静态库文件。
三 静态库的调用
1 编写测试代码
文件参考TestCallLib.cpp。
#include TestLib.hint main()
{TestLib testLib;testLib.show();return 0;
}3 拷贝静态库和头文件
头文件为TestLib.h。 TestLib.h如下
#ifndef TEST_LIB_H
#define TEST_LIB_Hclass TestLib
{
public:TestLib(void);~TestLib(void);void show();private:int x;int y;
};#endif静态库文件为上述生成的lib.a。
3 连同库一起编译
命令为
g -o test TestCallLib.cpp ./lib.atest表示要生成的可执行文件。
TestCallLib.cpp是调用静态库的主程序。
./lib.a是当前目录下的静态库文件。
编译后得到test可执行程序。
4 运行可执行程序
命令如下
./test
x: 0
y: 0可以看到运行结果正确。
四 小结
本文主要讲了如下内容
封装静态库并生成静态库。创建测试调用代码。
源码及工程已经上传资源感兴趣的可以下载 Linux环境下关于C静态库的封装和调用代码