Dev-C++中使用静态链接库

在Dev-C++中,静态链接库的后缀是.a,这点和VS的lib不一样。

一、首先,我们建立静态链接库项目,
新建一个CPP文件square.cpp

code:

class Square{
public:
float Area(float width,float height);
};

float Square::Area(float width,float height){
return width * height;
}

这个类定义了计算长方形面积的方法。
编译无误即生成了和项目名相同的SquArea.a库文件。注意,这里不是代码文件名而是项目名。

二、使用静态库
新建一个控制台项目,新建一个头文件square.h
这里把上面定义的类粘贴过来:

code:

class Square{
public:
float Area(float width,float height);
};

在入口main.cpp里引用该头文件,

code:

#include <iostream>
#include "area.h"
using namespace std;

int main(int argc, char** argv) {
float width=0;
float height=0;
cout << "请输入长方形的宽:" << endl;
cin >> width;
cout << "请输入长方形的高:" << endl;
cin >> height;
Square square;
cout << "面积=" << square.Area(width,height) << endl;

system("pause");
return 0;

}

三、设置链接参数
进入项目属性参数设置,在链接栏增加下面
./Squarea.a

这里的意思是链接的时候把当前目录下Squarea静态链接库加入进来。

最后编译运行,完成。

原文地址:https://blog.51cto.com/1685766/2479173

时间: 2024-11-05 22:00:48

Dev-C++中使用静态链接库的相关文章

利用GCC编译器生成动态链接库和静态链接库

转载请标明:http://www.cnblogs.com/winifred-tang94/ 1.编译过程 gcc –fPIC –c xxx.c 其中-fPIC是通知gcc编译器产生位置独立的目标代码.链接的时候不通过拷贝来进行. 2.链接过程 gcc –shared –o libxxx.so xxx.o 经过编译链接就可以生成动态链接库,其扩展名为.so Eg. 还可以gcc –fPIC –shared -o libhello.so hello.c 举个例子: //Hello.h //hello

浅谈Windows平台下C++调用静态链接库的方式

浅谈Windows平台下C++调用静态链接库的方式 1. 什么是静态链接库?为什么要用静态链接库? 维基百科上关于静态库的解释是这样的:在计算机科学里,静态库(英语:Static library, Statically-linked library),或称静态库,是一个外部函数与变量的集合体.静态库的文件内容,通常包含一堆程序员自定的变量与函数,其内容不像动态链接库那么复杂,在编译期间由编译器与连接器将它集成至应用程序内,并制作成目标文件以及可以独立运作的可执行文件. 由上面的解释可以很清楚的看

动态链接库和静态链接库的区别

静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件:动态链接就是把调用的函数所在文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行的时候再从DLL中寻找相应函数代码,因此需要相应DLL文件的支持. 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了.但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可

VS2010中如何将动态链接库改成静态链接库

VS2010中如何将动态链接库改成静态链接库 VS2010静态编译生成的.exe可执行文件,可以免安装免DLL在其他电脑直接运行. 静态编译:就是在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖动态链接库. 1. 编译实现方式有两种 [1]debug方式的静态链接: 设置: (1)项目 -> 配置属性->常规->MFC的使用:在静态库中使用MFC(如果有使用MFC). (2)项目 -> 配置

C++中的动态链接库和静态链接库

转自 作者:吴秦出处:http://www.cnblogs.com/skynet/ 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自我修养--链接.装载与库>. 什么是库 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常. 本质上来说库是一种可执行代码的二进制形式

介绍静态链接库和动态链接库的区别,及在VC++6.0中的建立和使用

首先介绍一下链接库:链接库分为动态链接库和静态链接库两种 LIB是静态链接库,在程序编译连接的时候是静态链接,其对应的文件格式是.lib.即当程序采用静态链接库的时候,.lib文件中的函数被链接到最终的可执行文件中,因为应用程序所需的全部内容都是从库中复制了出来,所以静态库本身并不需要与可执行文件一起发行. DLL是动态链接库,在程序运行的时候被调用,其对应的文件的格式是.dll.即当程序采用动态链接的时候,.dll文件中的函数并没有被链接到可执行文件中,可执行文件只是保存了函数的地址信息.但是

[C] linux静态链接库与动态链接库详解

http://blog.chinaunix.net/u2/76292/showart.php?id=1274181 一顺便说说了哦  通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file).程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下.所以这些函数库被成为静态库(static libaray),通常文件名为"libxx

Windows 下动态链接库和静态链接库

1.静态链接库:就是在编译的时候把库中代码复制进工程中,导致工程变大,但是速度快. 缺点在于一套代码可能在内存中有多份拷贝,占用内存. 2.动态链接库:库由windos api加载库代码,内存中只有一份拷贝.工程中只保留链接到这份代码的引用,有两种动态链接库, (a)load time dynamic linking:工程运行的时候自动加载,结束时自动卸载 (b) run time dynamic linking: 在工程运行过程中通过调用LoadLibrary()和GetProcAddress

动态链接库和静态链接库

#1,静态链接库 lib指令在exe中: 不能再包含其他动态库或静态库: #2,动态链接库 该dll不必在最终exe文件中: exe可"动态"引用或卸载这个dll: 可以包含其他的动态库或者静态库: #3,动态库的其他概念 dll的编程机制与具体的编程语言和编译器无关: 动态链接库随处可见 Kernel32.dll:主要处理内存管理和进程调度: user32.dll:主要控制用户界面: gdi32.dll:负责图形方面的操作: VC动态链接库分类 Non-MFC dll:不采用MFC类