
C语言学习
红叶落水
这个作者很懒,什么都没留下…
展开
-
GD32H7复位后程序调用函数时间增加
在GD32H7程序中,发现函数调用时间在第一次下载与硬件复位重启后存在显著差异,分别为13ms和51ms。经排查,问题主要出现在函数形参数量超过4个或总大小超过4x32bit时,系统会使用堆栈传递参数,导致指令层次增加,从而降低执行效率。具体表现为内存加载指令LDR r4, [sp, #0xC]的使用。为解决此问题,建议减少函数参数个数,或采用地址传参的方式,以优化函数执行效率。原创 2025-05-10 17:03:58 · 163 阅读 · 0 评论 -
C缺陷与陷阱-符号
【代码】C缺陷与陷阱-符号。原创 2023-05-31 19:01:43 · 222 阅读 · 0 评论 -
C语言指针笔记
【代码】C语言指针笔记。原创 2023-05-31 19:01:18 · 206 阅读 · 0 评论 -
左值与右值
由此可以看出int arr2[]作为形参时确实是一个int* 的指针,int arr2[]被转化为指针类型,至于为什莫不直接用指针呢,大概是为了语义化,并且方便在函数内部使用数组吧。关于指针与地址的一些感悟 地址是一个常量,右值,立即数,是固定的,在内存中表示某一个位置,是某一个位置的名字,对于地址的访问属于电路的操作,对于软件语言只是一个名字。数组名和函数名都可已被取地址,并且&arr == arr?int n = 1;当然,数组可以作为形参来接受数组地址,那是不是就意味着数组是一个指针呢?原创 2023-05-25 22:35:30 · 453 阅读 · 0 评论