CSDN论坛 > VC/MFC > 进程/线程/DLL

用VC调用C写的DLL出错! [问题点数:50分,结帖人mudboy]

Bbs1
本版专家分:30
结帖率 100%
CSDN今日推荐
Bbs10
本版专家分:120667
Blank
银牌 2004年12月 总版技术专家分月排行榜第二
Blank
微软MVP 2005年7月 荣获微软MVP称号
2007年7月 荣获微软MVP称号
2006年7月 荣获微软MVP称号
Blank
红花 2004年12月 VC/MFC大版内专家分月排行榜第一
2003年3月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2005年2月 VC/MFC大版内专家分月排行榜第二
2004年11月 VC/MFC大版内专家分月排行榜第二
Bbs7
本版专家分:12808
Bbs7
本版专家分:10619
Bbs1
本版专家分:30
Bbs4
本版专家分:1439
Bbs1
本版专家分:30
Bbs1
本版专家分:30
Bbs1
本版专家分:30
Bbs1
本版专家分:3
Bbs7
本版专家分:12760
Bbs7
本版专家分:12808
Bbs1
本版专家分:30
匿名用户不能发表回复!
其他相关推荐
如何用VC编写供PB调用的DLL
和编写一般的DLL方法相同,需要注意以下两点:(1)调用约定C函数有_stdcall、_cdecl、_fastcall等多种调用约定,调用约定用来说明函数参数的压栈顺序和由谁(函数自身还是调用者)来修改堆栈。关于调用约定的详细说明,请参考我转载的另一篇文章。编写供PB调用DLL,请使用_stdcall调用约定,如下所示:extern "C" _declspec(dllexport)
Delphi 调用VC的DLL
VC中DLL声名格式: Extern “C” void __declspec(dllexport) __stdcall ShowMess(HWND hwnd, char* mess); 输出格式为:_ShowMess@8,“8”为函数参数字节数 为了避免名称分裂,可采用以下方法解决: 1.声明中不加__stdcall,采用VC默认格式__cdecl,但在Delphi中要注明调用格式为c
易语言调用 vs2010 vc++ 写出的dll带参数 报堆栈错误的问题
// mydll01.cpp : 定义 DLL 应用程序的导出函数。 // #include "stdafx.h" //#include "mydll01.h" #include  #include  using namespace std; extern "C"  __declspec(dllexport)  int adda(){ return 10; } //返回字符串的
VS2017——C语言dll编译并调用
1.生成dll 1.1文件——新建——项目,选择如下图 1.2新建头文件test.h和源文件test.c //test.h __declspec(dllexport) int sum(int a, int b); //test.c #include "test.h" #include int sum(int a, int b) { return
VC中调用dll函数的两种方法
一、显式调用 1、定义函数指针 typedef int (*dll_mul)(int a,int b); 2、加载dll,并获取其程序实例句柄 HINSTANCE hdll=loadlibrary("c:/cppDll.dll"); 3、从dll实例句柄中获取函数指针 dll_mul mymul=(dll_mul)GetProcAddress(hdll,"mul"); 4、使用获取
Java采用JNI调用VC++生成的dll(Java与C++交互)
应项目需求,需要android调用java,java再调用C++实现android一个图片匹配的功能,我们作为java组需要和C++和Android进行交互。下面是java和C++采用JNI的方式进行接口传参交互,我做的一个demo并运行成功。 什么是JNI? JNI全拼是Java Native Interface,中文意思为Java本地调用。JNI标准是Java平台的一部分,它允许java和其他语言的代码进行交互。JNI开始是为了本地已经编译好的语言,尤其是C和C++而设计的,我们也
VC中编写DLL的函数声明问题
http://blog.csdn.net/jamestaosh/article/details/4237757 编写动态链接库时,注意:::  4.5 __stdcall约定   如果通过VC++编写的DLL欲被其他语言编写的程序调用,应将 函数的调用方式声明为__stdcall方式,WINAPI都采用这种方式,而C/C++缺省的调用方式却为__cdecl。__std
dll的输出函数使用__stdcall调用约定后,客户端用GetProcAddress出现的问题!
为了是用vc写的dll能被其它语言的写的程序使用,即实现跨语言。我们在dll的函数调用约定中使用__stdcall .但当用GetProcAddress调用是却失败了.例如:extern "C" ITimeSource* __stdcall CreateTimeSource(ETimeSourceType type)typedef ITimeSource *( __stdcall
VC写的DLL给VB用,传送字符串
VB和VC写的DLL之间传达室送字符串。调试通过的源代码。网上的代码和文档都是用整型add(a,b)做例子。自己试试就知道传送string还会有那么多问题。耗了我不少时间!希望能节省你的时间!
DLL动态链接库的实现及调用(VC++,Delphi)
该压缩包包括:1.动态链接库(DLL)的编译实例,包括_cdecl和stdcall两种常见函数调用约定的实现,并且解决了名字修改问题,在实例代码中有详细的说明!2.针对不同的函数调用约定,以及动态调用DLL库和静态调用DLL库分别提供了调用实例的源代码和程序!3.压缩包中包括VC++调用DLL的实例源码和Delphi调用DLL的实例源码和说明(利用前面VC++生成的DLL)!4.其中VC++调用DLL实例中还简单说明了计算string的长度,比较,大小写转换等功能实现的方法!
关闭