- 博客(11)
- 资源 (133)
- 论坛 (4)
- 收藏
- 关注

原创 【12月原创】从菜鸟到起飞的 RT-Thread 开发指南
Hello,大家好,我是 RT-Thread 宣传委员(自封的)????我经常给大家安利 RT-Thread,尤其是那些还没用上 RT-Thread、在纠结选择哪个 RTOS、要不要学习 RTOS 的朋友。RT-Thread 简介RT-Thread 是什么据不完全统计,世界有成千上万个 RTOS(Real-time operating system,实时操作系统),RT-Thread 就是其中一个优秀的作品。RT-Thread 内核的第一个版本是熊谱翔先生在 2006 年年初发布的 0.1 版本。
2020-12-26 03:56:51
1717
3
原创 已初始化和未初始化的局部变量和全局变量在内存中如何分布?
在 C 语言中,通常可以把内存理解为四个分区:栈、堆、全局/静态存储区和常量存储区。栈(stack,也称“堆栈”)通常是用于存储在编译期间就能确定存储大小的变量,用于在函数作用域内创建,在离开作用域后自动销毁的变量的存储区。通常是局部变量、函数参数等的存储区。它的存储空间是连续的,两个紧密挨着定义的局部变量,它们的存储空间也是紧挨着的。栈的大小是有限的,在 Linux 中可以通过命令 ulimit -s 查看默认栈空间大小,默认情况下为 8192 KB(即 8MB)。因此如果在程序内部分配超大的数据
2020-12-31 01:00:22
217
原创 【C语言】assert() 断言的作用
assert 是宏,而不是函数。它的原型定义在头文件 assert.h 中:void assert( int expression );宏 assert 经常用于在函数开始处检验传入参数的合法性,可以将其看作是异常处理的一种高级形式。assert 的作用是 先计算表达式 expression,然后判断:如果表达式值为假,那么它先向 stderr 打印错误信息,然后通过调用 abort 来终止程序运行。如果表达式值为真,继续运行后面的程序。注意:assert 只在 DEBUG 下生效,在调试结
2020-12-31 00:12:12
163
原创 static 和 extern 的作用
问题:static 和 extern 修饰变量和函数时有什么作用?请举例说明。static简单来说,static 关键字有两个作用:限制变量的作用域设置变量的存储域具体来说,在不同的使用场景有不同的表现。(函数名也是变量)静态全局变量用 static 声明静态全局变量:限制本文件外使用static int a;定义全局变量时加一个 static 声明,该变量只限于被本文件引用,而不能被其他文件引用。静态全局变量和全局变量一样存放在静态区。静态局部变量使用 static 修饰局部
2020-12-30 23:46:11
113
原创 【经典面试题】strlen 函数的实现
分析strlen 是 C 库函数,它的作用是计算字符串的长度。函数 strlen 的原型是:size_t strlen(const char *str);strlen 函数从字符串的开头位置依次向后计数,直到遇见 \0,然后返回计时器的值。最终统计的字符串长度不包括 \0。实现int strlen(const char* str){ assert(str != NULL); int len = 0; while((*str++) != '\0') ++len; return le
2020-12-30 22:27:01
91
原创 【经典面试题】strcpy 函数的实现
分析strcpy 是 C 库函数,它的作用是将一个字符串复制到另一个地址空间。函数 strcpy 的原型是:char* strcpy(char* des , const char* src);调用 strcpy 函数,将 src 所指向的字符串复制到 dest 所指向的地址空间,同时返回复制后的字符串。注意:des 和 src 所指内存区域不可以重叠,且 des 必须有足够的空间来容纳 src 的字符串,否则会造成缓冲溢出(buffer overflow)错误。实现#include <
2020-12-30 22:17:32
264
原创 【经典面试题】strcmp 函数的实现
分析strcmp 是 C 库函数,strcmp 是 string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。函数 strcmp 的原型是:int strcmp(const char *s1,const char *s2)返回值:若 s1==s2,返回零;若 s1>s2,返回正数;若 s1<s2,返回负数。因此 strcmp 需要做的就是将两个字符串自左向右逐个字符相比(按 ASCII 值大小相比较),直到出现不同的字符或遇 \0 为止。
2020-12-30 21:53:15
78
原创 【经典面试题】strcat 函数的实现
分析strcat 是 C 库函数,它的作用是连接两个字符串。函数 strcat 的原型是:char* strcat(char* des, char* src);调用 strcat 函数,将 src 所指向的字符串追加到 dest 所指向的字符串的结尾,同时返回连接后的字符串。注意:des 和 src 所指内存区域不可以重叠,且 des 必须有足够的空间来容纳 src 的字符串。实现#include <assert.h>#include <stdio.h>char
2020-12-30 21:46:30
88
原创 我的2020——一颗红心,两手准备
今年做了什么Flag 验收看回 2019年总结,又啪啪打脸了。。。果然计划赶不上变化,以后立 Flag 还是要慎重! 编制并出版一本书 设计并发布一个网站平台 做一个电台节目 去菲律宾读语言学校进修英语 考个无人机驾驶证(极飞农业无人机操作员考试)先汇报一下:之前构思了好多遍,要写一本关于 Linux 和物联网方面的书,于是在 Gitee 上用小号折腾了一年,还是没搞定!(希望在 2021 年 Q1 结束这场战斗)不过倒是因为参与了《开源指北》的编写计划,算是共同协作出了一本电子书
2020-12-24 18:27:24
277
3
原创 我与 RT-Thread 社区一起成长的故事
成长故事技术成长之路,包括自我介绍、擅长的技术领域等Hello,大家好,我是 Rudy(卢华东)。我刚拿了 2020 年 RT-Thread 社区杰出贡献奖,现在还沉浸在喜悦之中。2020 年度 RT-Thread 社区杰出贡献奖颁奖现场我在 CSDN 上的名字是「阿基米东」,因为我希望自己也能像那个举得起地球的巨人——阿基米德一样充满智慧。因为在 CSDN 上的简介写了“以前运动员,现在程序员”,所以有些小伙伴就问我咋回事?我高中的时候练长跑,拿过一些小奖,后来练过排球和橄榄球,大学在球
2020-12-22 22:34:49
153
1
原创 如果你知道去哪,全世界都会为你让路
每个人都有自己所热爱的东西,一旦目标确定下来,它将会迸发出源源不断的动力。我常常问自己:如果我只剩十年寿命,我要怎么度过?我一定会划掉哪些无关紧要的人生大事,全力以赴地追逐梦想。可我又怕十年太短,无法实现梦想。但你愿意为了它日以继夜地工作,直到它在你眼中是完美无瑕的。那其实并没有什么可害怕的,因为你已经知道自己要去哪儿了。如果一个人连自己感兴趣的事情都不肯为之努力的话,那又怎么可能期待生命的辉煌?拒绝诱惑,在充满危机和挑战的道路奋勇前行,嗯,这是正确的路。Just do it, I am h
2020-12-20 01:44:04
194
2
一步一步使用STemWin 在STM32 上开发一个简单的应用
2017-03-14
tuxboot-0.8
2017-02-27
STM32 HAL 库开发实战指南—基于F7
2018-05-30
POSIX标准文档
2017-03-07
I210 MAC EEPROM(包含 Eeupdate.exe)
2017-02-21
qwt-6.1.3.tar.bz2
2016-12-22
从零开始使用CubeMX创建以太网工程
2017-07-11
Linux/Unix 的 libjpeg 库(v9b)
2016-11-23
FreeRTOS_ST_April_Training(北京麦克泰FreeRTOS培训课件)
2017-05-04
阿基米东的留言板
发表于 2020-01-02 最后回复 2020-04-03
小白提问:做视频监控需要用到实时操作系统吗?
发表于 2016-10-24 最后回复 2020-01-02
make menuconfig 提示 Unable to find the ncurses ......
发表于 2017-01-25 最后回复 2018-04-28
Linux socket 编程遇到问题
发表于 2016-12-15 最后回复 2016-12-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝