龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC下的链接库

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
一、静态链接库 1.静态链接库的生成方法 在vc下建立一个新项目,项目类型选择win32 static library,然后在项目中加入.h.cpp.c文件,编译链接后就会生成一个静态链接库.lib文件。 如果想要

一、静态链接库

        1.静态链接库的生成方法

        在vc下建立一个新项目,项目类型选择win32 static library,然后在项目中加入.h.cpp.c文件,编译链接后就会生成一个静态链接库.lib文件。

        如果想要取得尽量好的与平台无关性,则在.h文件头加入extern "C",强制编译器以C方法编译.cpp的文件,生成的文件名不会像.cpp那样给函数加上一堆附加信息。这样其他的编译器也可能识别他。但是这种方法只适合没有用到C++重载等特性时才可以使用。

       2.静态链接库的使用

       把以上生成的.lib和.h文件加入到工程中去,在project选项中选择setting,然后在link中添加*.lib,表示链接时用到他,在项目文件中加入#include "*.h"即可使用这个静态链接库

二、动态链接库

        1.动态链接库的生成方法

        在vc下建立一个新项目,项目类型选择win32 dynamic link library,然后在项目中添加.h.cpp.c文件,编译链接后就会生成.dll文件。

         也可以在resource files文件夹下生成一个.def文件,文件内容如下:
         LIBRARY            *.dll
         EXPORTS        
                                     dll中的函数名
         这个def文件在编译后会生成.lib文件,他是用于解析dll中函数用的。

        2.动态链接库的使用方法一

        把.lib、.dll、.h三个文件都放到工程中去,在工程文件中加入#include "*.h"文件,选择project的setting选项,然后在link中加入.lib文件,即可使用该库。

        3.动态链接库的使用方法二

       把.dll、.h三个文件都放到工程中去,在工程文件中加入#include <windows.h>,做一个函数指针和一个handle,函数指针指向你要用的,handle类型为HMODULE,如示:

    typedef void (*PFN)();
    HMODULE hdll = ::LoadLibrary("mydll.dll");
    PFN pfn = (PFN)::GetProcAddress(hdll,"helloword");
    (*pfn)();
    ::FreeLibrary(hdll);       这种方法不用在setting的link中加入lib。

精彩图集

赞助商链接