VC下的链接库

一、静态链接库
        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。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值