vb.net调用c语言,net vb

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

两个项目的依赖关系重新设置一下,然后那个C的项目重新生成一下试试

创新互联建站是专业的阜新网站建设公司,阜新接单;提供成都网站制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行阜新网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

怎样在vb.net中插入C语言

如你所说:

.net中包括 vb.net java.net c#.net等.

.net是一个大的平台 它集成了很多中语言就如上面所说的.

你可以选择各种不同的语言来进行开发,个子遵循自己的语言风格.

Asp.net不属于咱们刚才说的那种语言环境当中,它不是个语言.而是一种模式.

ASP.net代表的就是 B/S开发,这个你明白吧?B/S就是 浏览器/服务器的模式.也就是咱们常说的网站开发.

C语言是一门单纯的语言,C语言是一个母语.就像VB的母语是PasCal一样.

.net中以c语言为母语的语言就是C#.net和Java.net两种.

.net可以用来开发网页和软件应用程序.

而C语言只能来写一些操作计算机底层的代码.

这样说可以嘛.

vb.net如何与c语言做的dll互相传递字符串

首先是C的DLL(我的项目叫ConsoleApplication2.dll):

#include Windows.h

// 导出Test函数,供外部使用

extern "C" __declspec(dllexport) BSTR __cdecl Test(LPSTR p);

BOOL WINAPI DllMain(

HINSTANCE hinstDLL,

DWORD fdwReason,

LPVOID lpReserved)

{

switch (fdwReason)

{

case DLL_PROCESS_ATTACH: break;

case DLL_THREAD_ATTACH: break;

case DLL_THREAD_DETACH: break;

case DLL_PROCESS_DETACH: break;

}

return TRUE;

}

BSTR __cdecl Test(LPSTR p)

{

p[0] = 'X';

return SysAllocString((BSTR)p);

}

然后是VB.Net项目:

Imports System.Runtime.InteropServices

Imports System.Text

Module Module1

REM 生成的是ConsoleApplication2.dll,名字与C里面相同

DllImport("ConsoleApplication2.dll", CharSet:=CharSet.Auto, CallingConvention:=CallingConvention.Cdecl)

Public Function Test(MarshalAs(UnmanagedType.LPTStr) ByVal str As StringBuilder) As MarshalAs(UnmanagedType.BStr) String

End Function

Sub Main()

Dim str As StringBuilder = New StringBuilder("Hello")

Dim rstr As String = Test(str)

Console.WriteLine(rstr)

Console.ReadKey()

End Sub

End Module

运行结果:

如何在vb.net调用c程序

------------------------------------------00000000000000000000000000++++++++++++++++++

VB.net如何调用C++ DLL,有重谢

如果DLL不是你写的,且你要调用的函数不是__stdcall声明,VB直接调用是会报错的

如果DLL是你写的,注意调用约定问题,并看以下代码

***************************************************

以下是DLL代码

.cpp里这么写

extern "C"__declspec(dllexport) void __stdcall HelloWorld()

{

MessageBox(NULL,"HelloWorld","HelloWorld",NULL);

}

.def里这么写

LIBRARY      "XXXX"

EXPORTS

; 此处以下添加

HelloWorld@1

*************************************************

vb里这么写

Public Declare Sub HelloWorld Lib "XXXX.dll" ()

然后调用就可以了,上面是VB的代码,或许VB.net的也差不多

vb.net 调用C语言可执行程序并传值?

在c语言中每一个变量都有两个属性一个是值,一个是址。比如inta=2;变量a的值是2,变量a的地址,可以用取地址

操作符

获取,即a。因此以C语言的函数传递中具备两种方式传递参数,一种是传址,一种传值。比如voidf1(intv){;}//函数f1v


分享名称:vb.net调用c语言,net vb
标题URL:http://hbruida.cn/article/hsocgs.html