数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 183|回复: 19

这个宏写的,实在读起来吃力

[复制链接]
发表于 2025-8-13 23:10:40 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
简化过好几次,虽然结果正确,但对原始代码,还是没有彻底理解。
#define MULT_MAT(a,b,c,rowsa,colsa,colsb,typea,typeb,typec) {  \
                 typea **_AMX = (typea **)a->ptr;  \
                 typeb **_BMX = (typeb **)b->ptr;  \
                 typec **_CMX = (typec **)c->ptr;  \
                 typea *_PTA;  \
                 typeb *_PTB;  \
                 typec *_PTC;  \
                 int _IX,_JX,_KX;  \
                 for(_IX = 0 ; _IX < rowsa ; _IX++) {  \
                     _PTC = _CMX[_IX];  \
                     _PTB = _BMX[0];  \
                     for(_JX = 0 ; _JX < colsb ; _JX++) {  \
                         _PTA = _AMX[_IX];  \
                         *_PTC = (*_PTA++) * (*_PTB++);  \
                         for(_KX = 1 ; _KX < colsa ; _KX++)  \
                             *_PTC += (*_PTA++)* _BMX[_KX][_JX];  \
                         _PTC++;  \
                     }  \
                 }  \
             }   


发表于 2025-8-13 23:31:37 | 显示全部楼层
太高级了,完全看不懂...


二○二五年八月十三日
回复 支持 反对

使用道具 举报

发表于 2025-8-13 23:33:06 | 显示全部楼层
完全看不懂
回复 支持 反对

使用道具 举报

发表于 2025-8-13 23:34:52 | 显示全部楼层
也是没看懂
回复 支持 反对

使用道具 举报

发表于 2025-8-13 23:39:06 | 显示全部楼层
看不懂                           
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
为什么我看不懂
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
写代码的应该是尽量少用这种宏。
回复 支持 反对

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
ba21 发表于 2025-8-14 10:15
写代码的应该是尽量少用这种宏。

我是读别人的代码,就像考试的阅读理解,绕不过去啊。
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
bh4qix 发表于 2025-8-14 11:26
我是读别人的代码,就像考试的阅读理解,绕不过去啊。

用AI分解。
回复 支持 反对

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
本帖最后由 bh4qix 于 2025-8-15 08:40 编辑

朋友帮忙用 AI 分析了,结果可以用来验证自己的理解。谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
bh4qix 发表于 2025-8-14 22:19
朋友帮忙用 AI 分析了,结果可以用来验证自己的理解。谢谢!

这个也简单吧。
MULT_MAT(a,b,c,rowsa,colsa,colsb,typea,typeb,typec)
只要代码中见到上面那句,就用后面的内容替换掉。
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
ba21 发表于 2025-8-14 22:27
这个也简单吧。
MULT_MAT(a,b,c,rowsa,colsa,colsb,typea,typeb,typec)
只要代码中见到上面那句,就用后 ...

不是宏替换的概念,是宏里面定义的计算逻辑。
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
bh4qix 发表于 2025-8-15 08:09
不是宏替换的概念,是宏里面定义的计算逻辑。

既然是逻辑就看你的能力了。问AI也是可以的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
ba21 发表于 2025-8-15 10:00
既然是逻辑就看你的能力了。问AI也是可以的。

AI 分析结果,最关键的那一行,没有给出结果。
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
bh4qix 发表于 2025-8-15 11:14
AI 分析结果,最关键的那一行,没有给出结果。

哪行??
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层

附图红色标记

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层

*_PTC = *_PTC + (*PTA++) * _BMX[_KX][_JX];
就是个简单的+-*/ 。
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
ba21 发表于 2025-8-15 13:49
*_PTC = *_PTC + (*PTA++) * _BMX[_KX][_JX];
就是个简单的+-*/ 。

我说的是 功能没有解析出来,就是物理意义。
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
bh4qix 发表于 2025-8-15 16:03
我说的是 功能没有解析出来,就是物理意义。

这就不懂你的意思了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
ba21 发表于 2025-8-15 20:40
这就不懂你的意思了。

我是说那个 AI , 没有解析出 业务逻辑,只是进行了 语法描述。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-8-21 13:25 , Processed in 0.109200 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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