| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1325 人关注过本帖
标题:[求助]急!! 正在做一个调用 dll 的测试工程,对 dll 在工程中的引用很犯难 ...
只看楼主 加入收藏
cllovy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-5-17
收藏
 问题点数:0 回复次数:3 
[求助]急!! 正在做一个调用 dll 的测试工程,对 dll 在工程中的引用很犯难,请大
很惭愧,问这个问题,来麻烦各位高人
本人正在做一个串口通讯动态库的测试工程,具体工程见附件;

这是dll工程中*.def中定义的输出函数:

EXPORTS
Initialize @1
UnInitialize @2

这是dll工程中TypeDef中的输出接口定义部分:
//Export Functions
typedef int *(*InitializeFunction)(char *,int,int,char*,int,int);
//extern "C" int * Initialize(char *szComName1,int iSum1,int iSpeed1,char *szComName2,int iSum2,int iSpeed2){}
typedef void (*UnInitializeFunction)(void);

我定义了一个
typedef struct
{
char * psChannel; //通道一or通道二
int psCOM; //0-COM1,1-COM2,...,9-COM10
int psNode; //0-1,1-2,...,31-32
int psSpeed; //0-19200,1-38400,2-57600,3-115200
}psSet;//SysParaSetting
初始化两个通道变量
psSet * psSet1 = NULL;
psSet * psSet2 = NULL;
并在工程初始化时调用上面的初始化函数,
InitializeFunction(m_psSet1->psChannel, 0, 38400, m_psSet2->psChannel, 1, 38400);

结果显示错误:
error C2564: 'int *(__cdecl *)(char *,int,int,char *,int,int)' : function-style conversion to builtin type takes only one argument

急求高手指导下啊~~!!


[此贴子已经被作者于2007-5-18 9:09:56编辑过]

搜索更多相关主题的帖子: 工程中 测试工程 int dll char 
2007-05-17 19:19
cllovy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-5-17
收藏
得分:0 
郁闷回着一半按错了键。。。ag:
可能大家也都在忙,自己先顶一下:)

dll部分是待测试的,目前我的任务只是做一个控制台,来实现dll中的COM通讯的查询等功能;

自己觉得我的主要问题在于对指针数据类型和MFC的理解。
typedef int *(*InitializeFunction)(char *,int,int,char*,int,int);
函数中参数的意义我现在加入帖子里了,是对两个COM的参数调用。所有的参数都可以在主对话框和设置对话框获得。

请高手指点一下,哪怕指出我的提问是不是有问题都可以!!

先谢谢!
2007-05-17 20:09
我为幻笑
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-7-10
收藏
得分:0 

直接写全局函数就行了,不用在前面加extern "C" _de...
然后在.def文件里显示导出就OK了

2007-09-29 16:45
Janlex
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:303
专家分:0
注 册:2006-9-12
收藏
得分:0 

to楼上

_declspec (dllexport)可以不用.
在.def文件export写函数名

但extern "C"声明C方式编译必须要的, 因为C++有重载,C++编译函数时,函数名编译后为function@1...这样的形式.所以你得不到准确的函数名而以便以后调用,所以要声明C方式编译.

typedef int *(*InitializeFunction)(char *,int,int,char*,int,int);
这句一看就有问题...

[此贴子已经被作者于2007-9-29 17:07:31编辑过]


★★★★★欢迎光临我的博客 ★★★★★
http://www.
2007-09-29 17:06
快速回复:[求助]急!! 正在做一个调用 dll 的测试工程,对 dll 在工程中的引用 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024712 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved