vc中使用动态链接库小结

来源:互联网 发布:怎么关闭445端口 win7 编辑:程序博客网 时间:2024/04/28 23:42

vc中使用动态链接库小结

一.  静态库包括.lib.h文件,在工程中使用静态库分为3步:

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

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

      **方法二:在项目中直接加入libproject->   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