易语言调用 vs2010 vc++ 写出的dll带参数 报堆栈错误的问题
2015-05-14 17:14
211 查看
// mydll01.cpp : 定义 DLL 应用程序的导出函数。
//
#include "stdafx.h"
//#include "mydll01.h"
#include<iostream>
#include<string.h>
using namespace std;
extern "C" __declspec(dllexport) int adda(){
return 10;
}
//返回字符串的函数
extern "C" __declspec(dllexport) char * testb(){
static char url[260] = { 0 };
strcpy_s(url, "http://中文");
strcat_s(url, ":");
return url;
}
extern "C" __declspec(dllexport) int __stdcall adde(int x,int y){
return x+y;
}
头文件都省了,直接cpp文件定义了输出名称和 stdcall 堆栈错误就是因为顺序的问题导致的
用depends 软件查看了下函数名,成了
_adde@8 我的天,函数名定义是 adde成了_adde@8 怎么用啊,能凑合用,找了资料纠正了函数名字
新增一个def的文件,
填写
LIBRARY mydll01
EXPORTS
adde
编译查看,名字正常了,调用也没问题了
//
#include "stdafx.h"
//#include "mydll01.h"
#include<iostream>
#include<string.h>
using namespace std;
extern "C" __declspec(dllexport) int adda(){
return 10;
}
//返回字符串的函数
extern "C" __declspec(dllexport) char * testb(){
static char url[260] = { 0 };
strcpy_s(url, "http://中文");
strcat_s(url, ":");
return url;
}
extern "C" __declspec(dllexport) int __stdcall adde(int x,int y){
return x+y;
}
头文件都省了,直接cpp文件定义了输出名称和 stdcall 堆栈错误就是因为顺序的问题导致的
用depends 软件查看了下函数名,成了
_adde@8 我的天,函数名定义是 adde成了_adde@8 怎么用啊,能凑合用,找了资料纠正了函数名字
新增一个def的文件,
填写
LIBRARY mydll01
EXPORTS
adde
编译查看,名字正常了,调用也没问题了
相关文章推荐
- 易语言dll中文本型参数或返回值在其他语言中调用异常问题
- vs2010下V C++调用C#编写的dll时可能遇到的问题
- vs2010 vc++ 写成dll 被易语言dll 调用然后返回文本
- C# 调用外部dll过程中的参数问题
- DllRegisterServer的调用失败,错误代码为0x80040200 (vista手动注册ocx dll问题)
- (转)C#调用DLL时参数问题的一点心得
- 将C语言编译成DLL并用C#进行调用以及关于从C#传输中文路径到C的DLL中打开文件的问题
- c# 调用c/c++ dll 参数问题
- 关于vs2010下编译dll动态库,JNA接口在java中调用的问题
- VS2010 C#中调用matlab2014a生成的dll的几个问题
- win7下修改注册表问题 模块"jscript.dll"已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005 我是WIN7
- 在VS2010中调用COM Interop DLL操作Excel通过get_Range去获取Range时,会发生Object does not contain a definition for get_Range的错误。其原因和解决方案
- 关于 php 调用 其他语言写的Web Service SOAP 接口的参数传递问题
- 用C#调用C++DLL时的字符串指针参数传递问题
- 64位win7下使用vs2010调用opencv2.4.4缺少DLL问题
- 应用程序调用dll动态库,参数有vector时崩溃的问题
- win7下修改注册表问题 模块"jscript.dll"已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005 我是WIN7
- 关于dll及跨语言调用的问题的一些理解
- MFC之调用DLL的问题:error C2664: “LoadLibraryW”: 不能将参数 1 从“const char *”转换为“LPCWSTR