您的位置:首页 > 其它

vc中使用动态链接库小结

2013-04-20 14:21 267 查看
一. 静态库包括.lib和.h文件,在工程中使用静态库分为3步:

<1> 在工程中加入静态库,有两种方法:

**方法一:项目设置中引用.lib,project-> setting-> link-> object/library modules中添加.lib;(需要在tools/options设置正确的引用路径)

**方法二:在项目中直接加入lib,project-> add to project-> files,选择正确的.lib。

<2> 在工程中包括.h文件;(可能 需要在tools/options设置正确的引用路径)

<3> 在工程中使用静态库中的函数;

二. 动态链接库一般包括.lib(导出函数),.h,.dll文件,使用动态库有两种情况:

a . 隐式链接,同使用静态库相似,分为三步:引用.lib,包含头文件,使用导出函数;

b. 动态加载,直接使用LoadLibrary 加载所需的动态库,然后指定所需的导出函数,效率最高!

三.关于lib文件:

开发DLL的时候,就会生成两个文件:LIB静态库文件(接口文件)、DLL动态库文件(程序文件).

LIB是提供DLL接口的文件,供编译器使用.

#pragma comment(lib, "##/##/mine.lib")

是使本工程加入mine.dll动态链表库的接口库文件,让本工程可以使用mine.dll中的函数

另:建立c语言函数库的办法

1.现将二个函数sub1()及sub2()建立成一个函数库文件取名为mylib.lib。两个函数的函数及型参如下:

函数1: void sub1(void);

函数2: float sub2(int i,float x);

将它们分别建立一个文件,取名为s1.c及s2.c,在用命令tcc对它们分别编译后产成两个目标文件s1.obj及s2.obj,最后使用tlib命令建立函数库文件mylib.lib,并建立相应的例表文件(例表文件主要用来检查主函数库的使用情况),命令格式如下:

tcc s1.c s2.c

tlib mylib +s1 +s2,mylib.lst

将产生的mylib.lib函数库文件拷贝到标准库目录下c:\tc\lib

2.建立其头文件(假设取名为myfunc.h)内容如下:

extern void sub1(void);

extern float sub2(int,float);

将此文件拷贝到目录下c:\tc\include

3.在用户的程序中按下例方式直接使用即可:

#include<myfunc.h>

main()

{…

调用sub1(),sub2();



}

4.在Turboc下用编译命令tcc对用户程序文件进行编辑及链接,设其用户程序文件名为my.c,使用命令格式:

tcc -Ic:\tc\include
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: