VB2010与C DLL混合编程操作位图
novakon2012/01/03软件综合 IP:广东
来自:计算机科学 / 软件综合
10
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
novakon 作者
13年0个月前 IP:未同步
350350
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
13年0个月前 IP:未同步
350804
在VB2010下编译,默认会出现pInvokestackimbalance错误,在菜单“调试”“异常”处,把该错误的勾打掉即可,以后调试不会throw出这个错误。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
13年0个月前 IP:未同步
357282
回 楼主(novakon) 的帖子
请使用byte/int8类型……就没有那么多麻烦的事情了
IA32 CPU中,mul指令远比add慢,imul则更慢。请使用加法运算。
对于溢出问题。
00FFh+00FFh=01FEh
无所谓小于零
有没有符号不用太在意,除了带浮号运算指令外,运算的规则都是一样的,只是表达规则不一样罢了。
最后可以这样:
jo OnOverflow
ret
OnOverflow:
mov al,0;使用哪个reg取决于编译生成的出口是哪
ret
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
12年11个月前 IP:未同步
366085
回 3楼(phpskycn) 的帖子
溢出问题:矩阵运算时结果可能小于零,可能会返回8000H...8001H...之类的值
byte/int8:运算、赋值的时候如果大于0x00FF不会自动变成00FF,而且会改变前后的byte(莫非是我SB了?
mul和add的问题:这是一个演示程序,实际使用时可能会是 r = r*37801>>16这样的形式(实际运算时数字会比较大所以不用byte)。而且即使写r*2,编译器也会把*2变成add或者左移运算。

OnOverflow:事实上使用跳转会减慢程序计算速度,我会再改一个没有IF语句的版本出来。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
12年11个月前 IP:未同步
366639
回 4楼(novakon) 的帖子
引用第4楼novakon于2012-02-11 17:16发表的 回 3楼(phpskycn) 的帖子 :
溢出问题:矩阵运算时结果可能小于零,可能会返回8000H...8001H...之类的值
byte/int8:运算、赋值的时候如果大于0x00FF不会自动变成00FF,而且会改变前后的byte(莫非是我SB了?
mul和add的问题:这是一个演示程序,实际使用时可能会是 r = r*37801>>16这样的形式(实际运算时数字会比较大所以不用byte)。而且即使写r*2,编译器也会把*2变成add或者左移运算。

OnOverflow:事实上使用跳转会减慢程序计算速度,我会再改一个没有IF语句的版本出来。

应该不会改变前后字节吧,IA32有一套专门操作字节的指令。
我的意思是……一切都按无符号数考虑。。。这个时候FFH=255D而不是-01D
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
12年11个月前 IP:未同步
366980
回 5楼(phpskycn) 的帖子
请问无符号数计算2-3=0吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
12年11个月前 IP:未同步
368601
回 6楼(novakon) 的帖子
由于有无符号运算用的电路相同
02H-03H=FFH
有符号数-1D,无符号数255D
我的意思是,如果全盘按照无符号数处理,使用字节传送,传来的变量范围就是0D-255D,不需要专门一个函数处理
这个函数需要消耗不少资源
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
12年11个月前 IP:未同步
368772
回 7楼(phpskycn) 的帖子
那么我希望2-3=0为黑色而不是白色,怎么办呢
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
12年11个月前 IP:未同步
368778
回 8楼(novakon) 的帖子
如果一定要使用减法因而必须使用有符号数,我提出的那些就可以推翻
我并不理解代码实际用途也不知道可能发生的其他情况
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
12年7个月前 IP:未同步
410064
回 9楼(phpskycn) 的帖子
图像处理输出的结果要显示在屏幕上,-1显示在屏幕上就应该为0(黑色),至少不能比黑色更亮
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
novakon
学者 机友 笔友
文章
1256
回复
8386
学术分
16
2008/03/29注册,2年11个月前活动

已走,勿送

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}