【原创】C++关于创建和使用静态链接库
静态库是在编译时跟目标文件一起被编译的。
DEV-C++:
首先,新建工程,选择Static Library,工程名称设为Myfunc
新建一个名为func.h的头文件,代码如下
#ifndef _define
#define _define
namespace hehe
{
int foo(int x,int y);
template <typename T>
T foo1(T x,T y);
//模板定义是不产生代码的,只有在实例化的时候才会产生代码
//所以,使用了模板的函数必须放在头文件中,因为模板需要在编译时推导
template <typename T>
T foo1(T x,T y)
{
return x+y;
}
}
#endif
再新建一个func.cpp文件,添加如下代码
#include "func.h"
namespace hehe
{
int foo(int x,int y)
{
int z=1;
for(int i=0;i<y;i++)
z*=x;
return z;
}
}
编译工程,会在工程目录里生成一个Myfunc.a文件
新建一个工程,在工程->工程属性-参数中点击加入库或者对象,添加刚才生成的Myfunc.a
在工程中包含func.h
#include “func.h” 也可以把func.h放到DEV-C++的include目录里,用#include <func.h>引用
然后在主函数里就可以调用自定义的函数了
cout <<hehe::foo(4,6);
cout <<hehe::foo1(4,6);
cout <<hehe::foo1(4.0,6.0);
Visual C++:
新建一个Win32 Static Library 工程,工程名为Myfunc
在弹出的步骤1窗口中,可以选择使用预编译的头文件或不选,这里不选择
新建一个func.h,代码同上;新建一个func.cpp代码同上
编译并建立 在debug目录里会生成一个Myfunc.lib文件,把该文件移到\Microsoft Visual Studio\VC98\Lib目录里
把func.h移到\Microsoft Visual Studio\VC98\Include目录里
新建一个工程,在工程设置-->连接-->对象/库模块中增加Myfunc.lib 空格隔开
#include<func.h>或#include “func.h” 包含该头文件后就可以使用自定义的函数了
转载于:https://www.cnblogs.com/mx113/articles/1609856.html
【原创】C++关于创建和使用静态链接库相关推荐
- Qt:55---QT创建和使用静态链接库(.lib、.a)
一.QT的静态链接库 QT创建一个静态链接库项目,设计各种需要导出的类,包括具有UI的窗体类.对话框类.编译后可以生成一个lib文件(MSVC编译器生成的文件后缀为".lib",M ...
- 使用Visual studio中创建C++的静态链接库.lib文件附使用方式
如何在Qt中使用静态库.lib(和VS一样,仅仅是操作方式略有差异) 如何在VS中创建.dll动态链接库.dll中函数与类的导出用__declspec(dllexport) 如何在Qt和VS中使用动态 ...
- 创建和使用静态链接库
演练:创建和使用静态库 在本演练中,您将创建一个静态库 (LIB),其中包含可供其他应用程序使用的有用例程.使用静态库是重用代码的一种绝佳方式.您不必在自己创建的每个程序中重新实现这些例程,而只需对这 ...
- CMake创建和使用静态链接库
生成静态库 cmake_minimum_required(VERSION 2.8) project(myprj)set(CMAKE_CXX_FLAGS "-fpermissive" ...
- vc6.0静态链接库的创建与使用方法
1.建立如下的工程 选择该界面的最后一个,即创建了一个静态链接库,注意填写工程的名称. 2.在该工程下创建lib.h和lib.cpp两个文件 lib.h中源代码如下: #ifndef LIB_H #d ...
- 【转载】linux静态链接库与动态链接库的区别及动态库的创建
这篇文章对于动态库的概念及使用介绍的很不错,故收藏了. 一.引言 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数 ...
- Linux环境下c语言静态链接库和动态链接库创建和使用
库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀. 面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功, ...
- cnsl是什么意思_VS2010下创建静态链接库和动态链接库
VS2010下创建静态链接库和动态链接库 类封装成dll如果你的工作长期与某个领域相关,比如说长期做直接体绘制 (DVR)方面的开发,那么你可能经常使用自己的传递函数类,如果每一个工程你都把传递函数类 ...
- GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库(gcc -fPIC -shared)的创建和使用
1. 库文件 所谓库文件,读者可以将其等价为压缩包文件,该文件内部通常包含不止一个目标文件(也就是二进制文件). 值得一提的是,库文件中每个目标文件存储的代码,并非完整的程序,而是一个个实用的功能模块 ...
- C++ 创建静态链接库和动态链接库
上篇文章演示了如何使用C++ 编译的静态链接库和动态链接库,本篇文章主要介绍如何创建静态链接库和动态链接库,本文使用的工具是visual studio 2019 企业版,需要安装对应的C++sdk,可 ...
最新文章
- win7上Docker使用
- Wt::WPaintDevice
- .NET完全手动搭建三层B/S架构
- 用Freemind画“脑图”
- js之数据类型及类型转换
- HTTP get post put delte等
- 明年起网剧可参评白玉兰奖 你期待哪部网剧上榜?
- 文本框添加问内容下划线
- 请检查virtualboxapi是否正确安装_MBR膜组件安装施工方案指南
- microsoft visual c++全家桶_“网蓝”盒子咖啡新品来袭!顺德第①桶MINI冰摇咖啡,可以背着逛街...
- Java 插入排序算法
- java数字金额大写金额_Java将数字金额转为大写中文金额
- 如何写一篇高质量的伪原创文章
- 计算机组装与维护论文大一,【计算机组装与维护浅析论文】 计算机组装与维护论文...
- 一位 70 后程序员的 26 个职场感悟
- cocos2d简单弹球
- 韦小宝丝绸|如何鉴别香云纱可以用以下六种方法
- 华硕笔记本能通用的BIOS型号
- 单向链表与双向链表的区别
- 【翻译】大规模软件多样性作为防御机制——Massive-Scale Software Diversity as a Defense Mechanism