嵌入式C语言实战开发详解(一)"/>
嵌入式C语言实战开发详解(一)
一、概述
1、嵌入式开发中为什么选择C语言?
因为操作系统的内核都是使用的C语言,而且C语言也有如下几个优点:
(1)出色的移植性,能在多种不同体系结构的软/硬平台上运行(修改量越小,移植性越好);
(2)简洁紧凑,使用灵活的语法机制,并能直接访问硬件(效率高);
(3)很高的运行效率
拓展:
什么时候使用汇编什么时候使用C语言呢?(C VS 汇编)
汇编是低级语言,不能实现复杂的功能,所以:
当对硬件做初始化——汇编
当对硬件做复杂操作——C语言
面向过程处理机制 VS 面向对象处理机制(详情戳网址)
2、嵌入式开发中的地位:
(1)嵌入式Linux应用软件开发工程设计;
(2)嵌入式Linux驱动开发工程师;
(3)嵌入式BSP开发工程师;
(4)嵌入式Kernel(内核)开发工程师;
3、精通C语言考核标准:
(1)企业笔试题;
(2)累积的代码量(强化编程训练)
(3)良好的编码规范(华为的编码规范要求);
(4)行业应用的项目经验;
4、如何学习C语言(外功与内功兼修)
(1)零基础学习经历过程(菜鸟如何修炼成老鸟)
(2)算法在C语言开发
(3)《C和指针》《C语言专家编程》《程序员的自我修养》《高质量C/C++编程》《编程之美》
5、C语言的标准有哪些?
K&RC、C89、C99、C11
注:
gcc支持的C89,部分兼容C99
不同的编译器标准不一样
很多编译器支持的是C89
二、数据类型
1、什么是数据类型?
数据集合的划分,不同的数据类型对CPU的意义是不一样的。
2、数据类型有哪些?
3、左右法则
右左法则:首先从最里面的圆括号内未定义的标识符开始阅读看起,然后往右看,再往左看。每当遇到圆括号时,就应该掉转阅读方向。一旦解析完圆括号里面所有的东西,就跳出圆括号。重复这个过程直到整个声明解析完毕。
企业笔试题:
1、用变量a给出下列定义
a) 一个整型数(An integer):int a;
b) 一个指向整型数的指针(A pointer to an integer):int *a;
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a
pointer to an integer):int **a;
d) 一个有10个整型数的数组(An array of 10 integers):int a[10];
e) 一个有 10 个指针的数组,该指针是指向一个整型数的(An array of 10
pointers to integers):int *a[10];
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers):
int (*a)[10];
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整
更多推荐
嵌入式C语言实战开发详解(一)
发布评论