谁会在vb中调用c语言的程序,比如用c写了个加法程序a+b,如何从vb中获取a,b的值给c程序,让

谁会在vb中调用c语言的程序,比如用c写了个加法程序a+b,如何从vb中获取a,b的值给c程序,让,第1张

一般采用C做DLL,vb调用此DLL

VB里面对普通DLL函数的调用方法如下:首先进行声明做裂念:

这个是有返回值的函数的声明方源雀法:

Private Declare Function HelloWorld Lib "E:\xxx.dll" (ByVal InLng As Long) As Long

这个是没有返回值的函数的声明方法:

Private Declare Sub HelloWorld Lib "E:\xxx.dll" (ByVal InLng As Long)

备注:如果dll跟vb程序不在一个目录,就要写全路径,否则直接写上dll文件名就行了。

之后就可以像普通VB函数(Function)或者过程(Sub)一样的调用了,例如:

rtnCode = HelloWorld(123)

或者

Call HelloWorld(123)

另外,C里面的纯困函数要加加上_stdcall,例如:

DLLIMPORT _stdcall long HelloWorld (long InLng,char *InStr)

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

*** 作符

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

只要先把咐掘VB程序编译成EXE文蚂闷件,就可以在闷简弯C程序中调用:

#include "stdio.h"

void main()

{

int a

scanf ("%d",&a)

if(a==5)system("d:\daojishi.exe")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12567434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存