无标题
...
无标题
存储类型在C语言中,存储类型(或存储类别)定义了变量的作用域(即它可以在哪里被访问)和生命周期(即它存在多久)。以下是C语言中的几种存储类型: 自动存储类型(Auto)自动存储类型是所有局部变量的默认存储类型。这些变量在函数开始时被创建,并在函数结束时被销毁。它们通常存储在栈内存中。可以使用 auto 关键字显式声明,但这很少见。 123void function() { auto int x = 1; // 自动存储类型} 静态存储类型(Static)静态变量仅在程序的执行期间被初始化一次,之后它们保持其值,直到程序终止。可以使用 static 关键字来声明静态变量。 1234void function() { static int x = 0; // 静态存储类型 x++;} 寄存器存储类型(Register)寄存器变量被存储在CPU的寄存器中,而不是RAM中,以便更快地访问。可以使用 register 关键字来声明寄存器变量。但是,这只是一个建议,编译器可以选择忽略它。 123void...
无标题
系统移植(一)应用层开发和嵌入式底层开发的区别1》嵌入式是什么?官方:嵌入式是以应用为中心,以计算机技术为基础,软硬件可剪裁的计算机系统。 嵌入式系统的特点:成本,体积,可靠性,功耗都有严格要求。 解读: 1,计算机系统 2,针对某个应用的,也就是通常所说的“专用的” 说白了,就是针对某个应用的计算机系统 2》应用层开发和嵌入式底层开发的区别Text12345编程思路: 编译:gcc 运行hello.c ----------------> hello(可执行文件) -----------> ./hello | | x86 C库:比如:printf 链接C库 inux内核开发——驱动 Text123456编程思路: (交叉编译器---可以把程序编程成指定平台的程序 ------> ./hello ARM) 编译:交叉编译器 加载hello_drv.c ------------------------>hello_drv.ko ...
无标题
Linux驱动内容 1、内核模块框架 2、一个完完整驱动的组成 3、led设备驱动 准备工作: 1、将linux源码拷贝一份到Windows下 2、在Windows下的linux源码目录下新建一个 source insight 文件夹 3、打开source insight 软件,新建一个工程,工程保存到刚新建的source insight 文件夹下 4、将Linux源码导入到source insight的工程中,并同步 同步方法如下: 在右边project文件栏下按鼠标右键-》点击Synchronize files-》勾选force all files to be re-parsed-》点击start 一)内核模块框架1》内核模块组成 1、在fs_mp157a/driver/2308/1day/新建一个drv_hello.c 文件 2、头文件 #include <linux/init.h> #include...
无标题
编码规范
面试知识
C/C++ 题目一个保险柜,密码是由 NOMONEY 组成的 7 位数字。每个字母对应的数字隐藏在下面的 10 进制加法算式中,相同的字母对应相同的数字,不同的字母对应不同的数字,数字范围 0-9,并且已知密码中没有 4。请解码密码。 1234 G I V E+ M O R E M O N E Y M = 1(因两四位数相加得五位数,最高位必为1) G = 9(9 + 1 = 10,产生进位,满足五位数) O = 0(千位相加:9 + 1 + 0 = 10,进位后万位为1) E = 8(个位:6 + 6 = 12 → Y = 2,进位1) Y = 6(由E = 8推导) V = 5,R = 2(十位:7 + 5 + 进位1 = 13 → 进位1,E = 6) I = 3(百位:8 + 进位1 = 9 → N = 9,但需调整后最终得出N = 2) N =...