嵌入式
文章平均质量分 84
yanwumuxi
God said let there be light, and there was light.
展开
-
【C语言】看图说话帮你记住指针的用法
从图中可以看到,变量a是int类型(占了4 bytes的大小),对应地址是6000001~6000004,将3赋值给a,就是在a变量对应的地址单元中把3转成二进制填进去。是一样。int *q就是声明了一个名字为q的变量,变量的类型是指针类型(int *)。指针其实就是一个变量,变量名是q,而赋值给q的是一个地址。再形象一点,指针q就像一个容器,容器里装的是地址。int *存放int类型数据的地址,int **存放int *类型数据的地址,以此类推,int ***存放int **类型数据的地址。原创 2022-09-20 18:00:30 · 427 阅读 · 0 评论 -
用实例说话——Linux中使用静态库和动态库
我们要将功能文件func.c生成静态库和动态库,然后将测试文件main.c在编译中链接静态库或动态库,可执行文件,然后运行可执行文件。假如我们使用静态库的目标文件为main_a,使用动态库的目标文件为main_so,我们来看看目标文件的大小(单位:byte)库分为静态库和动态库,先来看看他们的区别。于是main_a就是链接静态库的可执行文件,main_so就是链接动态库的可执行文件。不管生成静态库还是动态库,都要先将功能文件编译为目标文件(后缀为.o)接下来就是将我们的测试函数链接我们的库函数。...原创 2022-08-19 16:06:17 · 605 阅读 · 1 评论 -
带你快速理解Makefile文件
减去繁琐的编译指令,写完Makefile后,只需要用命令行工具(windows用cmd)进入到Makefile的同级目录,输入make即可开始编译。如果依赖中有一个文件更新了,则重新执行这条命令,大大缩短编译时间。原创 2022-08-11 16:15:31 · 780 阅读 · 0 评论 -
带你快速理解ARM启动文件
带你快速理解ARM启动文件预备知识ARM的科普ARM汇编堆和栈栈(stack)堆(heap)代码解读(KEIL)代码解读(IAR)程序到底如何运行————————————————————————小编写在前面的话:这篇博文是小编在学习的过程中不懂就查,查完整理再加上自己的理解后的结果。涉及的内容广度会比较大,包括ARM和汇编科普、堆栈概念、汇编代码解读、程序运行。希望能够基于startup_stm32l071xx.s代码将上述几个方面的知识平铺开来,让大家能够读懂ARM启动文件。预备知识此处针对AR原创 2020-10-19 18:29:09 · 3734 阅读 · 2 评论