- 博客(17)
- 收藏
- 关注
原创 基于ubuntu和STM32(keil)的C程序的内存分配问题
在函数调用时,第一个进栈的是主函数中的最后一条指令的地址,然后是函数的各个参数,在大多 数的c编译器中,参数是由右往左入栈的,然后是函数中的局部变量(静态变量是不入栈的),当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地址,也就是主函数中的下一条指令,程序由该点开始运行;即重新分配存储器块的地址。:指那些由编译器在需要的时候分配,不需要时自动清除的变量所在的储存区,如函数执行时,函数的形参以及函数内的局部变量分配在栈区,函数运行结束后,形参和局部变量去栈(自动释放)。
2023-09-26 17:21:21
235
原创 gcc生成静态库.a和动态库.so
GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了。另。
2023-09-22 18:40:43
140
原创 STM32F103的流水灯点亮
打开Keil 5,选择Project下的选择文件路径并输入文件名:选择芯片:右击,选择选择.c,文件名为main:直接点击OK将图中选中所示的驱动文件拷贝到项目文件中:右击,选择类型选择All files,选择上面拷贝过来的驱动文件,点击Add*:打开魔术棒,点击output,勾选0x40010C000x400110000x40010800i < 800;i ++);// 开启时钟 RCC_APB2ENR |=(1 << 3);
2023-09-22 15:09:26
364
原创 在Ubuntu系统上用gcc命令方式和Makefile方式编译主程序并运行。
编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
2023-09-11 22:16:47
242
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人