【汇编实战开发笔记】从汇编代码中找出一段普通的for循环变成“死循环”的根本原因(RT-Thread技术论坛优秀文章)

文章目录1 前言2 问题描述3 简单分析4 场景再现5 柳暗花明6 找到证据6.1 究竟是不是警告6.2 盘根问底6.3 解除风险7 扩展延伸7.1 risc-v架构7.2 80x86架构7.3 其他架构8 经验总结9 更多分享1 前言在我的上一篇文章中,有讲到掌握汇编知识的重要性,关键时刻可能还会拯救你于泥潭之中。那么,本篇文章...

2023-01-18 gccIDE打包汇编语言


【汇编实战开发笔记】一段汇编代码如何“反编译”成C代码?

文章目录1 前言2 问题描述2.1 大家可能遇到的问题2.2 我们遇到的问题3 解决思路4 实战推演4.1 汇编基础知识学习4.2 得到socx平台的汇编代码4.3 将汇编代码还原成c代码4.3.1 汇编转c伪代码4.3.2 伪代码转c代码4.4 将c代码嵌入编译得到新的固件5 成果验证5.1 正向验证5.2 反向验证6 扩展延伸7 经验总...

2023-01-18 IDEARM打包SDK汇编语言


【经验科普】实战分析C工程代码可能遇到的编译问题及其解决思路

文章目录1 前言2 回顾2.1 主要内容2.2 知识点回顾3 实战分析3.1 代码编写阶段3.2 预编译阶段3.2.1 no such file or directory (找不到某个文件或目录)3.2.2 宏定义的问题3.2.3 条件编译的问题3.3 编译阶段3.4 汇编阶段3.5 链接阶段3.5.1 undefined reference to ‘xxx’3.5.2 cannot find -lxxx3.5....

2023-01-18 gccIDE编程算法打包Makefile


【freeRTOS开发笔记】记一次坑爹的freeTOS-v9.0.0升级到freeRTOS-v10.4.4

文章目录1 前言2 遇到的问题2.1 版本差异2.2 问题描述3 如何解决3.1 问题分析3.2 细看错误代码3.3 能不能把宏定义改为函数?3.4 能不能有其他解决办法?3.5 还有个问题4 经验总结5 更多分享1 前言笔者最近在做一个项目,简单来说就是操作系统的替换,但是由于我们整个项目是需要兼容多个芯片平台的...

2023-01-18 IDE编程算法打包SDK腾讯云开发者社区


【GCC编译优化系列】究竟什么样的代码会导致函数调用的栈溢出呢?

【gcc编译优化系列】究竟什么样的代码会导致函数调用的栈溢出呢? 一段看似铁定栈溢出的函数代码,它一定会溢出吗? 文章目录1 问题现场2 简单分析3 深入分析3.1 假如不考虑编译优化的情况3.2 如果编译器执行了编译优化4 经验总结5 更多分享1 问题现场事情是这样的,最近我们在考虑招收一批新鲜血液...

2023-01-18 IDE打包嵌入式汇编语言物联网


【GCC编译优化系列】前后编译的两个版本固件bin大小不一样,怎么办?

【gcc编译优化系列】前后编译的两个版本固件bin大小不一样,怎么办? 摘要:这两天在论坛收到一个朋友的问题回答邀请,我仔细读了下该问题,跟我之前在论坛上发布的好几个问题关联还挺大的,所以抽空带着这个问题,重新梳理下思路,也希望这些思路能帮到这位朋友尽快解决问题。 文章目录1、问题描述...

2023-01-18 gccIDE打包汇编语言物联网


【GCC编译优化系列】这种让人看不懂的multiple-definition真的有点让人头疼(RT-Thread技术论坛优秀文章)

文章目录1 写在前面2 问题描述3 场景复现4 深入分析4.1 可能性分析4.2 分析map文件4.3 扒一扒基础语法4.4 gcc的版本差异4.4.1 对比map文件和汇编代码4.4.2 如何查看gcc默认使用的编译选项4.4.3 对比gcc的默认使能的编译选项4.4.4 得出结论5 修复验证5.1 问题修复5.2 问题验证6 经验总结7 参考链接8 ...

2023-01-18 gccIDE打包


【GCC编译优化系列】一文带你了解C代码到底是如何被编译的(RT-Thread技术论坛优秀文章)

文章目录0 标记1 前言2 c代码的编译步骤2.1 预处理(preprocessing)2.2 编译(compilation)2.3 汇编(assemble)2.4 链接(linking)2.5 生成二进制文件(objcopy)3 gcc如何编译c代码3.1 gcc命令参数介绍3.2 helloworld工程的示例c代码3.3 预编译生成.i文件3.4 编译生成.s文件3.5 汇编生成.o文件3.6 预编译...

2023-01-18 LinuxgccIDE打包汇编语言


【gcc编译优化系列】static与inline的区别与联系(RT-Thread技术论坛优秀文章)

文章目录1 问题来源2 问题分析3 知识点分析3.1 inline关键字是干嘛的?3.2 inline与宏定义有什么区别?3.3 inline函数与普通函数有什么区别?3.4 static函数与普通函数有什么区别?4 解决方案4.1 放弃inline函数的优势,将inline函数修改为普通函数4.2 对inline函数加上static修饰5 知其然且知其所...

2023-01-18 C++IDE编程算法打包C 语言


【shell编程】shell脚本运行报错:syntax error: unexpected end of file

最近博主在写一个shell脚本,写完之后到linux环境去执行,发现莫名其妙地报错了,如下:这简直是莫名其妙,因为这个脚本昨天晚上还是跑得好好的,只是今天上午我稍微加了一些逻辑判断而已,居然报错了!不过,既然报的是 ./test-fail.sh: line 29: syntax error: unexpected end of file 这可是语法...

2023-01-18 LinuxIDE编程算法ShellNotepad ++