Visual studio中怎样引用其他动态库(dll库)中的函数

         在使用Visual studio作为开发工具,使用C语言开发大型项目时,通常一个解决方案(Solution)下有多个项目(Project)。使用Visual studio的 Solution Explorer视图可以展开显示。比如,笔者本人曾参与开发的项目,一个解决方案下有接近一百个Project。这些Project有的是作为应用程序(exe)去生成的,有的则是作为动态库(dll)去生成的。应用程序生成的是可执行程序,一般是作为项目的辅助工具或者扩展工具使用,项目的主程序(main函数入口)也是应用程序类型。其他动态库类型的项目,一般是组成主程序的各个功能模块,提供调用。动态库类型可以将程序的功能进行模块划分,不同的功能使用不同的动态库进行实现,便于模块的更新和维护,同时也方便多人同时开发不同的模块功能。

        通常,在程序开发过程中,需要在一个Project中引用另外一个Project中的函数,本人在使用VS开发过程中,一般使用如下两种方式:

   (1)  使用LoadLibrary函数进行显示调用。

             首先传入被引用动态库的path路径,然后运用LoadLibrary函数加载动态库,再使用GetProcAddress获取函数调用入口。同时,对于动态库中被引用的函数,需要申明为导出函数,使用如下方式进行申明:

           _declspec( dllexport )

    (2) 使用VS开发工具添加引用

             右键点击相关项目,选择Properties,打开属性面板; 点击面板左侧Common Properties,通用属性; 然后点击Add New Reference...按钮,添加相应被引用的项目即可。这样在项目中可以直接使用被引用项目中的函数,不用使用LoadLibrary加载动态库。同样,被引用函数需要声明为导出函数。

    对于Linux环境而言,加载动态库的函数为dlopen,获取函数入口的函数为 dlsym;

    

       

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值