VC的DLL 给 VB调用, def声明文件在VC中 是否 是必须的?
解决方案 »
- 弄了半天没有弄出来 怎么dom读如下xml中的属性 谢谢
- 如何隐藏分区,但是仍然能用路径访问到。
- 关于Attach!!
- 显示位图的问题
- 在程序中如何区分“本地硬盘”和“移动硬盘”呢?
- 对于CTreeCtrl,要删除某个结点下面所有的孩子结点,有现成的函数吗?(不是用循环实现的那种)
- MFC的程序里如何删一个目录?
- 想学数据库, 如何着手?
- 在vc6.0下为什么出现了下列错误?
- 哈哈,我写了篇文章,向www.vchelp.net投稿,今天被采纳发表了,高兴,特来送分!!!(为什么我在CSDN.NET发表通不过呢?)
- 疯掉了快~~大家再进来帮我看看窗口吸附问题吧~谢啦!
- 两个IWebBrowser2指针,不能判断指针值还能怎么判断是不是同一个对象
DEF文件的作用主要定义导出函数的,用DEF的好处在于它可以强制约定函数名,所以在VC的DLL中写DEF文件应该是比较方便的一种做法,但是并不是必须的,用extern "C"其实也可以达到目的
如果调用约定改变了就不行了
===================
VB调用DLL中的函数一般都是用_stdcall方式的,所以用extern "C" _stdcall说明应该是可以的,另外调用约定不同,对函数名也是有影响的。
总之一句话, 并不一定非要用DEF文件。一般写成:extern "C" int __declspec(dllexport) __stdcall add(int x, int y);
这样的形式应该没有问题。
=========
我觉得VC写VB能用的DLL最好还是写Win32 DLL,我上面所说的也是基于Win32 DLL的,导出类成员函数之类我平时很少涉及,所以不知道。