namedajipai
2016-08-08 09:00
采纳率: 90.6%
浏览 992
已采纳

dll函数怎么知道自己是通过C++的.h文件调用的函数通过字符串的方式

dll函数怎么知道自己是通过C++的.h文件调用的函数通过字符串的方式(vb)动态调用的,这两者的机制的差别是什么?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • blownewbee 2016-08-08 15:05
    已采纳

    如果是动态调用的,那么之前肯定会调用loadlibrary,你可以通过堆栈上是不是有这个函数来判断!

    点赞 评论
  • qq_31039675 2016-08-08 09:11

    dll不知道;机制无差别;
    无论,你是c/c++,还是vb,最终都会被系统解释称系统dll loader可以识别的二进制;
    或者你可以理解成,c/c++,vb,或其他任何一种语言,包括脚本语言,在调用dll时,是无差别的,都通过系统的调用(native)来实现的。

    点赞 评论
  • 幻夢之葉 2016-08-08 10:05

    C++ 通过头文件调用需要相应的lib文件,lib是包含一些函数入口地址已经变量的声明等。编译的时候会根据lib里面信息链接到dll对应的接口函数上

    C++也可以动态的方式调用dll,此时只需要提供dll文件即可(也就是你说的后者的方式,加载dll,然后查询某个接口,然后调用)

    区别就在于调用的代码不一样,效果是完全等同的!

    点赞 评论
  • oyljerry 2016-08-08 13:37

    dll有动态加载和静态加载两种方式。

    点赞 评论

相关推荐 更多相似问题