四、嵌入式软件开发:精通 Linux 操作系统的概念和安装方法、Linux 下的基本命令、管理配置和编辑器,包括 VI 编辑器,GCC 编译器,GDB 调试器和 Make 项目管理工具等知识;精通 C 语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识、数据结构的基础内容,包括链表、队列等;掌握面向对象编程的基本思想,以及 C++语言的基础内容;精通嵌入式 Linux 下的程序设计,精通嵌入式 Linux 开发环境,包括系统编程、文件 I/O、多进程和多线程、网络编程、GUI 图形界面编程、数据库;熟悉常用的图形库的编程,如 QT、GTK、miniGUI、fltk、nano-x 等。

公司的日常活动还是看公司的规模,大一点的一般只是让你负责一个模块,这样你就要精通一点。若是公司比较小的话估计要你什么都做一点。还要了解点硬件的东西。

那么看了这么多,嵌入式和纯软最大的区别在于:

纯软学习的是一门语言,例如 C,C++,java,甚至 Python,语言说到底只是一门工具,就像学会英语法语日语一样。

但嵌入式学习的是软件+硬件,通俗的讲,它学的是做系统做产品,讲究的是除了具体的语言工具,更多的是如何将一个产品分解为具体可实施的软件和硬件,以及更小的单元。

不少人问,将来就业到底是选驱动还是选应用?只能说凭兴趣,并且驱动和应用并不是截然分开的。

▍PART 01

我们说的驱动,其实并不局限于硬件的操作,还有操作系统的原理、进程的休眠唤醒调度等概念。想写出一个好的应用,想比较好的解决应用碰到的问题,这些知识大家应该都懂。

▍PART 02

做应用的发展路径个人认为就是业务纯熟。比如在通信行业、IPTV 行业、手机行业,行业需求很了解。