开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2525|回复: 19
收起左侧

[交流] 计算易语言和C++相差这么大的吗

[复制链接]
结帖率:69% (9/13)
发表于 2025-12-8 14:48:17 | 显示全部楼层 |阅读模式   广东省湛江市
0a6b5713ea473f48ab1950099dd37bb0.png
计算易语言和C++相差这么大的吗

签到天数: 2 天

发表于 2025-12-14 15:42:47 | 显示全部楼层   湖北省武汉市
刚看了一下, 不是16毫秒为一个单位
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 3 天

发表于 2025-12-8 23:50:31 | 显示全部楼层   湖北省孝感市
  
子程序名返回值类型公开备 注
ADD_ASM整数型 
参数名类 型参考可空数组备 注
a整数型
b整数型
置入代码 ({ 49, 219, 139, 77, 8, 139, 85, 12, 133, 201, 126, 13, 137, 216, 133, 210, 141, 28, 16, 15, 78, 216, 73, 117, 243, 137, 216, 201, 194, 8, 0 })
返回 (0)


上面还原代码逻辑的话这样写就行了,实际上直接就可以简化成:
  
子程序名返回值类型公开备 注
MUL_ASM整数型 
参数名类 型参考可空数组备 注
a整数型
b整数型
置入代码 ({ 139, 69, 8, 15, 175, 69, 12, 201, 194, 8, 0 })
返回 (0)


置入代码和汇编是个好东西
回复 支持 反对

使用道具 举报

签到天数: 3 天

发表于 2025-12-8 23:13:44 | 显示全部楼层   河北省保定市
这个我测试过C++的随手编译,和易语言用置入代码汇编差不多.
回复 支持 1 反对 0

使用道具 举报

结帖率:100% (53/53)

签到天数: 2 天

发表于 2025-12-8 22:43:54 | 显示全部楼层   福建省宁德市
因为这种循环被编译优化了,忙猜直接变成了a*b,根本就没有老老实实进行循环

要知道:总数 = 总数 + 1,这个过程在底层是:读内存,加法,写内存 三个步骤了
add dword[总数],1
或者
inc dword[总数]
百亿次循环就不可能那么快,用汇编写这个循环都要100秒

你可以在循环里将i、j变量和zs变量进行简单运算,让变量都参与进去,这样应该就不会被优化省略了

回复 支持 反对

使用道具 举报

结帖率:90% (44/49)
发表于 2025-12-8 21:50:47 | 显示全部楼层   山东省济宁市
福仔 发表于 2025-12-8 17:14
刚看了一下, 不是16毫秒为一个单位, 是 10-16毫秒这个范围内, 需要很精确的话这个就不适用
https://learn ...

之前这个 取启动时间 给我埋过大坑,长时间不关机导致程序很多地方出错,后来全改成取时间戳了
回复 支持 反对

使用道具 举报

结帖率:100% (49/49)

签到天数: 4 天

发表于 2025-12-8 19:34:31 | 显示全部楼层   江西省南昌市
你把int zs 换成double zs看看
回复 支持 反对

使用道具 举报

结帖率:93% (13/14)

签到天数: 4 天

发表于 2025-12-8 17:28:53 | 显示全部楼层   重庆市重庆市
1因为易语言的加法计算,实际是换成浮点计算的,
2因为易语言的循环,每次都要入栈出栈
回复 支持 反对

使用道具 举报

结帖率:100% (9/9)

签到天数: 2 天

发表于 2025-12-8 17:14:13 | 显示全部楼层   广西壮族自治区北海市
浅浅` 发表于 2025-12-8 16:59
16毫秒是易语言这个调试输出耗时了

刚看了一下, 不是16毫秒为一个单位, 是 10-16毫秒这个范围内, 需要很精确的话这个就不适用
https://learn.microsoft.com/zh-c ... nfoapi-gettickcount
回复 支持 反对

使用道具 举报

结帖率:90% (44/49)
发表于 2025-12-8 16:59:41 | 显示全部楼层   山东省济宁市
福仔 发表于 2025-12-8 15:52
应该是c++的那个被编译器优化了, 但是为什么还能有16毫秒.... 比较纳闷的一个点
自己看一下汇编吧, 就以上 ...

16毫秒是易语言这个调试输出耗时了

点评

刚看了一下, 不是16毫秒为一个单位, 是 10-16毫秒这个范围内, 需要很精确的话这个就不适用 https://learn.microsoft.com/zh-cn/windows/win32/api/sysinfoapi/nf-sysinfoapi-gettickcount   广西壮族自治区北海市  详情 回复 发表于 2025-12-8 17:14
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表