C++语言编写静态链接库及其使用
2015-06-04 15:45
309 查看
上一篇当中我写到使用C编写静态库,然后在C和C++两种环境下使用,今天我们来讨论用C++编写静态库以及如何使用一、C++语言的静态库1、静态库的建立a.建立项目b.添加库程序,源文件使用cpp文件(Win32 Static Library)cpplib.cpp源文件
int CppLib_add(int num1,int num2) { return num1+num2; } int CppLib_sub(int num1,int num2) { return num1-num2; }
编译链接后产生cpplib.lib,下面将使用其产生lib文件2、库的导入a.项目的"Setting" 中设置库的路径b.可以使用#pragma 关键字设置 即 #pragma comment(lib,"..\\cpplib\cpplib.lib")3、cpp静态库程序的调用
#include <iostream>using namespace std;int CppLib_add(int num1,int num2); //声明int CppLib_sub(int num1,int num2); //声明//以上三句是给编译器看得.#pragma comment(lib,"..\\cpplib\cpplib.lib")//以上一句代码是给链接器看的.
//////////////////////////////////////////////////////////////////////////////
//上面是C++静态库的调用,下面是C静态库的调用,两者调用均在CPP环境中。
//////////////////////////////////////////////////////////////////////////////
extern "C" int CLib_add(int num1,int num2);extern "C" int CLib_sub(int num1,int num2); //extern "C" 给c++编译器看,这个是按照C语言格式进行编译.//以上二句是给编译器看得.#pragma comment(lib,"..\\clib\clib.lib")//以上一句代码是给链接器看的.int main(void){int num1 = 100;int num2 = 1000;int nSum = CppLib_add(num1,num2);int nSub = CppLib_sub(num1,num2);cout<<"nSum = "<<nSum<<" nSub = "<<nSub<<endl;nSum = CLib_add(num1,num2);nSub = CLib_sub(num1,num2);cout<<"nSum = "<<nSum<<" nSub = "<<nSub<<endl;return 0;}总结:
<span style="white-space:pre"> </span>1).cpp环境中,C++函数必须得有声明<span style="white-space:pre"> </span>2).c环境中C函数不必声明<span style="white-space:pre"> </span>3).C++编译器编译函数时,必须找到声明,按照那种方式给函数进行编译。
相关文章推荐
- C/C++中各种类型int、long、double、char表示范围(最大最小值)
- C/C++中sizeof与strlen的区别
- C++11 lambda 表达式解析
- C++ 学习
- C语言编写静态链接库及其使用
- C++9.3.6 容器 访问元素
- eclipse C++开发环境下怎样修改Author
- C++9.3.5容器大小的操作
- C++_运算符重载 总结
- C++ 9.3.4 容器支持的运算---关系操作符
- Windows下用eclipse进行C/C++开发
- C和C++之间库的互相调用
- C/C++中extern关键字详解
- 自己动手写C语言库函数(6) atoi
- 【Decode Ways】cpp
- C++语言体系设计哲学的一些随想
- QML和C++混合编程--QML中的全局对象
- C++/C链接过程详解
- C++_运算符重载 总结
- [C++11 并发编程] 01 - Hello World