社区
进程/线程/DLL
帖子详情
字节对齐是否影响对DLL的函数调用?
tttk
2010-02-04 11:48:00
开发环境:VC++ 2008,Notes C API
应用程序采用默认的8字节对齐方式,DLL采用1字节对齐方式。
调试时发现调用崩溃,把DLL采用8字节对齐重新编译则无此问题。
记得在VC6环境中也是这样编译的,运行一直正常。请高手帮忙分析原因。
...全文
216
3
打赏
收藏
字节对齐是否影响对DLL的函数调用?
开发环境:VC++ 2008,Notes C API 应用程序采用默认的8字节对齐方式,DLL采用1字节对齐方式。 调试时发现调用崩溃,把DLL采用8字节对齐重新编译则无此问题。 记得在VC6环境中也是这样编译的,运行一直正常。请高手帮忙分析原因。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fpcc
2010-02-09
打赏
举报
回复
顶,实在是厉害。我发现VC从远古时代就有这个问题啊,非得REBUILD一下才好。
tttk
2010-02-04
打赏
举报
回复
已经解决。
问题是因为debug模式下的增量编译,导致DLL中两个编译时需要link的obj之间,存在不一致的边界对齐方式,修改后未能及时更新。
rebuild后问题解决。
fpcc
2010-02-04
打赏
举报
回复
应该没有什么问题,引起崩溃,估计是你的缓冲区的读写位置不对。你可以这样试一下,不全读或写,可能就不会出现这种错误了。换句话说,如果不对齐,可能缓冲区内的数据大小是不同的,你可以读写操作时按照大的一方来用,越界后引起崩溃。
举个例子,在GPRS的图像解析上,曾经用过你说的这种方法,结果就是,图是不准确的。没有别的现象。可能你的RP值较低,所以崩溃了。
在易语言中调用
DLL
使用说明.pdf
本文比较详细地描述了易语言对支持调用
DLL
所提供的各种特性,总结了应用中可能出现的问题且给予了 处理方案,并以示例的形式向用户展示了整个操作过程。到目前为止,易语言对调用
DLL
所提供的支持已趋于 完善,从理论说,可以支持调用几乎所有的Windows 系统API。 在易语言中调用
DLL
应该说是一种比较高层次的应用。易语言自身已经实现在绝大多数常用的Windows 系统API 功能,对易语言普通用户(初级用户)而言,能接触到调用
DLL
的机会并不是太多。
在易语言中调用
DLL
使用说明
在易语言中调用
DLL
使用说明
向
DLL
传递数组参数的实现方法
向
DLL
传递数组参数的实现方法。@易语言代码编写例子。
易语言学习调用
DLL
返回自定义数据结构的方法
易语言学习调用
DLL
返回自定义数据结构的方法源码,test,测试子程序,RtlMoveMemory,取指针到字节集
C#调用C/C++
Dll
中函数实例代码
实例代码说明如何在托管的C#代码中调用非托管的Win32 API或者自己用C/C++写的
Dll
中的函数,以及如何传递输入、输出字符串参数,结构类型参数等问题。
进程/线程/DLL
15,467
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章