11.19.2016
面试:
●现有嵌入式开发都用那些语言,这些语言的应用都有哪些
●嵌入式:操作系统的移植
●嵌入式选择C语言:所有操作系统的内核都是由C语言写的
●C语言写内核的优势1.出色的移植性
2.可访问控制硬件
3.运行效率高
●移植性好:从一个平台换到另一个平台,修改的代码越少,移植性越好
●C语言的哪些用法可以提高C语言移植性更高:type define和#define
●还有哪些语言可以访问硬件:汇编语言,效率比C语言更高
●为什么不选择汇编写内核:低级语言,无法实现复杂功能,没有if,for,等
●C语言与汇编混合编写内核:选择汇编:对硬件做初始化时
选择C语言:对硬件做复杂操作时
●C语言为什么效率高:C语言直接生成机器码,不需要借助翻译转述
解释性语言:把.class放入虚拟机运行(例如C++,java)
●面向结构(C语言)与面向对象(C++)的区别:
面向结构:解决微观,解决具体的问题
面向对象:解决宏观,解决整体方案
●C语言规范:主函数只能调用函数
●C语言缺点:1.复用率低:相同功能只能复制代码,不可继承
2.可维护性差:因为功能封装为函数,函数之间调用出错时难以查找
3.扩展性差:软件完成后添加功能困难(原因:还是函数之间调用,逻辑关系复杂,新增功能时需要检查所有相关函数)
这三项也是衡量代码质量的指标(加上4.可读性)
书籍购买
●C语言程序面试宝典(笔试题购买)
●推荐教材:《C和指针》《C语言专家编程》《高质量C/C++编程》《编程之美》(淘宝 25块)
●《编程之美》《程序员的自我修养》**
●《C程序设计语言》 丹尼斯 里奇 C语言之父,UNIX之父
●《C Primer Plus》****
C语言
●C语言的标准有哪些:1.K&RC
2.ANSIC/C89 (gcc编译器的标准,兼容部分C99标准)
3.C99 相比C89新增“+=”“-=”等
4.C11 最新的2011年标准,支持C11的编译器很少,仅有微软的部分软件支持