-
本帖最后由 liurui31 于 2024-9-2 08:37 编辑
可以从计算机的体系架构来理解,从底层往上层应用来说,可以从事以下几个方面的工作:
1.BSP的驱动开发工作
2.操作系统内核的开发
3.嵌入式应用的开发
4.解决方案的开发
-
过往公司都可以写上,但是没必要把所有项目都写上,简历上只用写有代表性的项目即可,让面试官觉得你的简历饱满就够了。
-
带宽是指频带宽度,宽带是指通信网络的一种。
-
不一定,要写几个有技术含量的有代表性的
-
const char *p的形式可以修改p的值合法,也就是让p指向别的字符串合法,但是通过p修改指向的内容是非法的;使用char p[]的形式,修改p指向的值合法,但是修改p的值非法。
1.首先你要清楚“字符串字面值”是什么?“字符串字面值”就是形如你文中的"RF1_230220901"这样的一个不可寻址的一个字符串,它是右值,不可寻址意味着你不能使用取地址符&来取它的地址,对应的汇编语言是个立即数,但是这个字符串字面值在虚拟内存中仍然占有一个位于常量区的地址空间,地址即字符'R'的存储地址。尤其要注意,这样的字面值常量,在最后一个字符,这里是'1'的后面,一定有个隐匿的‘\0’字符来表示字符串字面值的结束。
2.使用const char * p = "RF1_230220901"这样形式来表示一个字符串,就是让指针p指向这个字面值常量,也就是'R'的地址,因为"RF1_230220901"放在常量区,你不能通过p去修改字符串的内容,但是你通过p去访问每个字符仍然是允许的,就是说,可以*(p+1)去访问'F'这个字符,但是你试图去修改p+1这个地址里面的内容,就是*(p +1) = 'L‘这样是是非法的,因为常量区的数据不能修改。你还可以用这个指针指向别的字符串,比如你现在const char * p = "1234"也是合法的。
3.使用 char p[] = "RF1_230220901"这样的形式,是把"RF1_230220901"这个内容,不包含结尾的'\0'字符拷贝给这个字符数组,因为这个数组没有结束字符'\0',所以使用strlen(p)这样的函数,行为未定义,程序会崩溃,但是因为这是个字符数组,你可以修改字符数组中的内容,比如*(p + 1) = 'Q'这样是合法的,但是你试图修改p的值,也就量数组名的值是非法的。
-
#include任意文件都可以,这个只要能找到文件的路径,就可以把文件包括进来,包括进来之后,就是完全的方便替换,不做静态检查,你甚至可以include.dav文件