随笔分类 -  C

摘要:void dllsenddata(){ void OnEnChangeEdit2();} void CWsOtaUpgradeDlg::OnEnChangeEdit2(){ } extern void dllsenddata(); dllsenddata(); 阅读全文
posted @ 2024-05-20 11:04 无头之蝇 阅读(18) 评论(0) 推荐(0)
摘要:调试发现 extern 声明的数组可以和定义的数组长度不一致。 而且其他文件的根据声明的长度去引用,是按照地址偏移去找的。 例如数组 定义 U8 A[2][10000] 声明 U8 A[2][100] 此时会造成的其他文件方位的数组成员 A[1][0] 实际上访问的是A[0][100],导致问题的发 阅读全文
posted @ 2023-08-11 16:25 无头之蝇 阅读(20) 评论(0) 推荐(0)
摘要:文字常量可以直接 写到一起并用指针指向 这样可以直接输出拼接后的文本 阅读全文
posted @ 2023-04-28 20:04 无头之蝇 阅读(25) 评论(0) 推荐(0)
摘要:恢复内容开始 typedef struct{ uint8 in:1; uint8 to:1; uint8 AppCheck:1; uint8 AppCheckState:1; uint8 AppChenckResult:1; uint8 ref1:1; uint8 reset:2; uint8 ap 阅读全文
posted @ 2021-09-11 13:54 无头之蝇 阅读(42) 评论(0) 推荐(0)
摘要:1.头文件并不参加链接和编译。编译器第一步要做的就是简单的把头文件在包含它的源文件中展开。不知你是否能理解这句话。也就是头文件里面有什么内容,通通把它移到包含这个头文件的源文件里。(我觉得这是个很重要的概念,可以帮助我们简化理解编译链接的过程,包括理解头文件中定义静态变量或静态函数是怎么回事)。编译 阅读全文
posted @ 2020-02-12 20:24 无头之蝇 阅读(396) 评论(0) 推荐(0)
摘要:函数 C语言中函数参数传递时,将实参的值拷贝到函数参数的存储区中。这种传递参数的方式称为按值传递。 函数不会访问实参本身,访问的是函数存储在栈区的副本,不会改变实参.函数凋用结束,函数在栈区的内容释放. 若要改变实参本身.需用指针传递待修改变量的地址,使函数参数保存该变量地址的值。然后在函数中,通过 阅读全文
posted @ 2020-01-28 17:44 无头之蝇 阅读(170) 评论(0) 推荐(0)
摘要:数组: 1:数组名为地址,表达方法: Int A[10]; A;//数组名表示首地址 &A;//数组名加取地址符,仍然表示首地址 &A[0];//第0个元素的地址,即首地址 数组名是指针常量,值不可变,不占用内存空间 2:指针数组(每个元素都是指针 指针数组:double *a[10]; 每个元素占 阅读全文
posted @ 2020-01-26 21:52 无头之蝇 阅读(179) 评论(0) 推荐(0)
摘要:指针变量:用于存放另一个变量的地址 (指针变量所占空间大小由操作系统决定32/64位 4/8字节 // 声明且定义:int *p=&a; 声明、定义:int *p; p= &a; Double *p =d; (int)(p+1)-(int)p = 8; P指针变量所代表地址 指向 double类型变 阅读全文
posted @ 2020-01-25 19:52 无头之蝇 阅读(502) 评论(0) 推荐(0)
摘要:内存的分配方式 而rom中,没有堆区和栈区,只有数据段和代码段。 ram是在程序运行是的内存 rom是程序烧录的地方 Flash(闪存)、EEprom,都是rom Flash容量大,是程序存储器,按照块擦除,用于存储BootLoader和程序代码 E方是数据存储器,容量小,可以一次擦除一个字节(在有 阅读全文
posted @ 2020-01-20 20:46 无头之蝇 阅读(921) 评论(0) 推荐(0)
摘要:首先几个基本概念(网上的各种说法都很乱;个人理解整理了一下 内存分类方法很多,四区(动态区,静态区(全局区)、文字常量区,代码区); 五段(stack heap bss data text); 从存储的角度看 rocode 存储再flash(或称rom)里的code (rocode基本等同于(.te 阅读全文
posted @ 2020-01-18 23:48 无头之蝇 阅读(443) 评论(0) 推荐(0)