| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 845 人关注过本帖
标题:求解:修改DLL文件中的函数
只看楼主 加入收藏
njutmk
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-11-23
收藏
 问题点数:0 回复次数:0 
求解:修改DLL文件中的函数
  我现在要用LabVIW调用一个动态库,可是动态库的一个输出是指针类型,并且指针指向一个26个数据的数组,在LabVIW中无法得到所有这26个数据,只能在VC下面对DLL进行修正。但是无论我怎么改,最后都好像函数是错误的。
   我是在Win32 Dynamic-Link Library的工程下修改的。具体改法:
    uint32 ES4xx_GetDeviceChannels        ( deviceHandle device, uint32* pBufferSize, channelHandle* pBuffer )//返回值是一个0或者1   这样一个函数
   
        uint32 result;
       uint32 numChannels;
        channelHandle* pChannels;  
        numChannels = 0;
        result = ES4xx_GetDeviceChannels( Device, &numChannels,NULL );//得到通道数,也就是 &numChannels输出端值   
         pChannels= (deviceHandle*) malloc( numChannels* sizeof(deviceHandle) );//---------------BB
     result = ES4xx_GetDeviceChannels ( Device, &numChannels, pChannels)//三个参数省略了
        pBuffer ++;
        return result;
    }   就到这,生成动态库,调用,和预想的结果差距太大,而且有时候LabVIW软件是立马被关掉。      
这里还有个疑问,原函数的一个参数channelHandle* pBuffer输入是让它等于一个malloc函数分配内存空间(BB处)      输出是指向26个数据的数组指针  不知道怎么实现的?为什么这地方没有对它进行返回,怎么得到它的返回值啊?

问题写的有点繁琐,麻烦各位高手给予指点~不胜感激!
搜索更多相关主题的帖子: result 动态 工程 
2011-11-23 20:47
快速回复:求解:修改DLL文件中的函数
数据加载中...
 
   



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

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