![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
浮光Fae
这个作者很懒,什么都没留下…
展开
-
linux c基础------数据类型
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...原创 2019-04-26 16:28:52 · 199 阅读 · 0 评论 -
linux c基础------数组与指针
数组 用指针访问数组 用指针遍历数组,效率更高。 for(p=a;p<&a[MAX]'p++) { x=*p; /*do something*/ } 不可以用sizeof获得数组大小 while(*strings) { puts(*strings++); } void f(char a[12]) { ++a; } 指针 理解指针时,最好将其分为 指针类型 和 指针所指向...原创 2019-04-27 15:42:29 · 131 阅读 · 0 评论 -
linux c基础------内存管理
数据存放位置 未初始化的全局变量 .bss段 存放没有初始化或初始化为0的全局变量 不占文件空间,只占运行内存 初始化过的全局变量 .data段 初始化非零的全局变量 既占文件空间,又占运行内存。 常量数据 .rodata段 多个进程间共享 删除重复的字符串 一部分嵌入式系统中,rodata 放在 ROM 或 NOR Flash中,运行时直接加载到RAM内存中 在嵌入式中,可以用XIP(就地...原创 2019-04-28 10:59:29 · 146 阅读 · 0 评论 -
[转]C语言中定义变量“#X”,”X##”, “##X” 和“##X##”解析
关于#和## 在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏: 1. #使用 #define WARN_IF(EXP) / do{ if (EXP) / fprintf(stderr, "Warning: " #EXP “/n”); } / while(0) 那么实际使...转载 2019-04-29 17:30:42 · 422 阅读 · 0 评论 -
vim实用指令
vim 删除 x 向后伤处一个字符 #x 向后删除#个字符 X 向前删除一个字符 #X 向前删除#个字符 dd 删除整行 #dd 从光标开始删除#行 复制 yw #yw yy #yy p 恢复 u 恢复上一次操作 查找 /关键字 往后查找,n继续 ?关键字 往前查找,n继续 ...原创 2019-04-25 11:02:38 · 131 阅读 · 0 评论 -
gcc编译器
本文将从编译过程,优化选项,静态动态链接库三个方面补充gcc编译器的相关知识 O0 不做任何优化,这是默认的编译选项。debug时要用O0 O1 优化会消耗少多的编译时间,它主要对代码的分支,常量以及表达式等进行优化。 O2 会尝试更多的寄存器级的优化以及指令级的优化,它会在编译期间占用更多的内存和编译时间。 O3 在O2的基础上进行更多的优化,例如使用伪寄存器网络,普通函数的内联,以及针对循环的更多优化...原创 2019-04-25 11:02:15 · 164 阅读 · 0 评论 -
gdb调试器
gdb调试器是Linux下常用的调试工具原创 2019-04-25 11:14:05 · 265 阅读 · 0 评论 -
Makefile
基本组成 1.需要生成的目标文件 2.生成目标文件的依赖文件 3.生成目标文件的编译规则命令行原创 2019-04-25 20:09:59 · 148 阅读 · 0 评论