VB.net调用VC.net写的DLL出现“当前不会命中断点,还没有为该文档加载任何符号”!!急!急急!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB.net调用VC.net写的DLL出现“当前不会命中断点,还没有为该文档加载任何符号”!!急!急急!!!相关的知识,希望对你有一定的参考价值。

本人用VS2008编写的一个解决方案,里面有两个项目:一个VB.net 写的程序,一个是C语言写了一个DLL。然后VB.net调用C语言写的DLL,我能成功调用DLL文件,没有出现什么错误。但是我想调试一下C语言写的DLL文件,即 . C 文件 ,可是打断点处总是提示“当前不会命中断点,还没有为该文档加载任何符号”!! 我在网上找了好多资料都不行,什么“
无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』;
项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』;C/C++->优化->优化选择『禁用』;
删除解决方案下的.ncb文件;
工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾……”
等等都不行,我都快受不了,各位大哥大姐,能不能帮帮小弟呀,小弟真的快走头无路了……
http://blog.csdn.net/ydbcsdn/archive/2009/03/19/4003306.aspx
我已解决问题了,请参考上面的链接 ^_^

参考技术A 两个项目的依赖关系重新设置一下,然后那个C的项目重新生成一下试试追问

它们的依赖关系好像没法改变,我改了以后点击确定,然后再打开看,结果还是没有变!

vb.net如何调用dll(动态链接库)

dll是用c语言编写的,代码如下
#include<stdio.h>
int x(int a,int b);
int main(void)



int x(int a,int b)

int c;
c=a+b;
return c;

生成dll的名字是dlltest.dll
然后我要用vb.net的程序调用其中的函数x得到返回值,该怎么写?(声明以及调用过程)

参考技术A Private Declare function x Lib "dlltest.dll" (ByVal a As long, byval b as long) as long追问

那在使用这个函数时,就像正常函数一样使用还是需要怎么写?
无法在 DLL"dlltest.dll"中找到名为“x"的切入点,这是怎么回事?

帖子里的看不大懂,我用的是vs2010,那个貌似不是,我不知道那两个文件放在头文件里还是源文件,还有我的函数放在那里呢?帖子里的是过程,我的是函数,要怎么改呢?

追答

其实就是 引用/*dll.h文件*/
然后你的函数写成
DLLIMPORT int x(int a,int b)
int c;
c=a+b;
return c;

追问

IntelliSense: 不能定义声明“dllimport”的函数
error C2491: “x”: 不允许 dllimport 函数 的定义
这两个怎么回事啊?

本回答被提问者和网友采纳
参考技术B 把dll在电脑上注册一下。直接代码引用 参考技术C 用工具TlbImp.exe 转化一下,完整版自带,精简版 没有追答

这是个什么工具?

//tieba.baidu.com/i/sys/jump?un=QQ_2286363096" onclick="Stats.sendRequest('fr=tb0_forum&st_mod=pb&st_value=atlink');" onmouseover="showattip(this)" onmouseout="hideattip(this)" username="QQ_2286363096" target="_blank" class="at">QQ_2286363096 :自己百度吧

参考技术D 加到系统目录里

以上是关于VB.net调用VC.net写的DLL出现“当前不会命中断点,还没有为该文档加载任何符号”!!急!急急!!!的主要内容,如果未能解决你的问题,请参考以下文章

vb.net 如何调用dll . 调用时总是出错. 找不到入口点..无法返回值... 需要详细的.谢谢!

vb.net 如何引用自定义类库

vb.net如何调用dll(动态链接库)

如何从 C++ 调用 VB.NET DLL(也调用函数 - 不仅仅是 DLL 文件)

vb.net引用Dll的问题

vb.net把dll放到程序的Resources资源里面,能直接调用Resources里面的dll吗?