C++语言编写静态链接库及其使用
来源:互联网 发布:淘宝怎么创建链接 编辑:程序博客网 时间:2024/06/07 00:09
上一篇当中我写到使用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++编译器编译函数时,必须找到声明,按照那种方式给函数进行编译。
0 0
- C语言编写静态链接库及其使用
- C++语言编写静态链接库及其使用
- C语言使用动态链接库静态链接库
- VC++编写动态链接库及其使用
- C语言静态链接
- ubuntu 下QT4链接C语言编写的.a静态库
- 编写静态链接库
- 编写静态链接库
- 编写静态链接库
- 编写静态链接库
- C语言 之建立静态链接库
- Linux环境下c语言静态链接库和动态链接库创建和使用
- Linux环境下c语言静态链接库和动态链接库创建和使用
- Linux环境下c语言静态链接库和动态链接库创建和使用
- Linux下,使用C/C++编写"静态链接库"的一个简单例子
- linux c以及vs静态链接库的编写及使用
- 编译链接------Linux环境下c语言静态链接库和动态链接库创建和使用
- 编译链接------Linux环境下c语言静态链接库和动态链接库创建和使用
- DIV总是在最上一层
- jQuery的学习
- NSCalendar
- unity使用SimpleJSON读取json数据转存程VO存入list内
- 第十四周项目1 - 小玩文件(1)
- C++语言编写静态链接库及其使用
- 山东万杰医学院 齐鲁医药学院
- iOS 集合的深复制与浅复制
- ListView加载网络数据和图片
- Android高效加载大图、多图解决方案,有效避免程序OOM
- Linux下MySQL数据库常用基本操作
- 设置Dialog点击屏幕不消失
- CStringArray初始化小问题
- jquery监听文本框输入改变事件