成都网站建设设计

将想法与焦点和您一起共享

关于vb.netbreak的信息

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

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

创新互联是一家专业提供古冶企业网站建设,专注与成都网站设计、做网站HTML5建站、小程序制作等业务。10年已为古冶众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

#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++的慢慢N倍啊

这个是你的问题,不是vb.net速度慢。

你应该这样写:

Dim file1 As FileStream = New FileStream("地址", FileMode.Open)

Dim myread As BinaryReader = New BinaryReader(file1)

Dim fn(file1.Length) As Byte

For i As Integer = 0 To file1.Length - 1

fn(i) = myread.ReadByte

Next

记得前面要 imports system.io

这个代码把文件读入一个fn的数组中,速度极快。

vb.net 里面怎么跳出for

1、语言之间具有互通性(这是一个前提基调);

2、比如在java或者c/c++中,在循环中进行一个判断,如果判断成功或者不成功,那么就可以设置一个关键字break来跳出这个循环哦;

3、这个break的作用的就是当你判断实现或者未实现这个判断语句时,你像不需要再进行循环或者判断,那么可以用这个break关键字来发挥作用哦。

vc中的break在vb.net中怎样表达!

break退出循环

for循环对应 exit for

do/do while循环对应 exit do


网站名称:关于vb.netbreak的信息
文章路径:http://chengdu.cdxwcx.cn/article/doddooo.html