推荐周立功先生的一本书
1.
这篇文章主要是推荐周工的一本书,大家在学习嵌入式的时候,很多人不明白嵌入式系统和单片机的区别,又感觉自己对嵌入式有所了解,知道什么是嵌入式,文章里的很多见解我觉得对很多人都非常有帮助,今晚上周工的电子书刚出来,我觉得应该第一时间推荐给大家,希望大家读完之后,会感受到嵌入式软件的框架、分层、各司其职的功能,还涉及到如果用 C 去实现面向对象编程。
我认为很多嵌入式系统都是相通的,我一直说我喜欢做嵌入式软件,也不完全只是做 linux 驱动,而对于软件开发人员,了解系统的特性才能编写出高质量的代码,说白了,真的不能乱来,就比如原子操作,互斥锁之类的,我觉得你在很多嵌入式系统中都会有,即使名字不完全一样,也会有类似的东西来解决同样原因引发的问题。
2.
文章中的某一段,大家自行体会
文章摘录:
提到面向对象编程,往往会涉及到三个重要的特性:封装、继承与多态。可能很多人对这几个词语并不陌生,甚至是耳熟能详。就像笔者随机的问了几个公司的实习生,“面向对象编程的三大特性是什么?”几乎都可以不假思索的回答:“封装、继承与多态”。但是,在实际编程中,应用这些特性真的能像回答问题这么熟练吗?
部分 C 程序员(特别是嵌入式C程序员)有一种误解:C 语言不是面向对象编程语言,C++、Java、Python 等更高级的语言才是,使用 C 语言是无法实现面向对象编程的。这种误解致使他们没有意识去接触一些优秀的面向对象编程方法,例如设计模式、设计原则、软件架构设计等等,进而很难开发出易维护、易部署、易重用、易管理的软件,很难面对项目需求的变更(扩展),很难开发和维护大型的复杂项目。
本章将站在实际应用的角度,以 C 语言为例,对这些特性进行详细的介绍。实际上,AWorks 的核心及基础组件均是使用 C 语言编写的(当然,这并不影响上层应用使用 C++ 等其它语言。其实,众所周知的 Linux,其内核主要也是使用 C 语言实现的),但其中应用了大量的面向对象编程思想。通过这一章的内容,读者也可以更进一步的理解 AWorks。
3.
AWorks 是周工推出的一个嵌入式系统,我今天跟同事讨论,什么是嵌入式系统,Linux 是不是嵌入式系统?我觉得大家可以自己去理解,自己去学习,评论看看,到底什么才算是嵌入式系统。
我觉得对于做技术的同学有这样的机会接触这部分非常不错,了解大牛是如何搭建嵌入式系统框架的,这部分不像 Android ,很大原因是 Android 太能吃硬件资源了,做不到轻量级的系统开发。
AWorks 的学习链接如下:
AWorks链接
https://mp.weixin.qq.com/s/VWl15ALHaezkuR3ogeU0WA
如果获取电子书?
在公众号后台回复书名获取下载链接
「 抽象接口技术和组件开发规范及其思想 V0.2 」
如果觉得名字太长,还是直接复制过去比较方便
推荐阅读
分享一个非常 nice 的工具
我认识的周立功(内附广州周立功电子招聘)
推荐周立功先生的一本书相关推荐
- 周立功:专注的力量成就梦想
20年多前,我没考上大学,只读了技工学校,家庭条件并不好.毕业之后,因为就业等现实问题和压力,开始思考出路.偶然的一次机会,也就是81年,从杂志上了解到苹果公司创立的成功,两个年轻人在车库做出了单板机 ...
- 周立功先生和他创办的公司
周立功先生和他创办的公司 周立功其人 周立功是谁?周立功是一家广州公司的老总,公司名字就叫周立功.同时他著书多部,成为高校教材,也是上海某大学的名誉教授. 几个月前,在公司开IIC-China展期间, ...
- 关于HA-MIR镜像双机虚拟IP与周立功CANET-200T采用UDP模式通讯技巧
系统环境 Windows Server2008R2 Enterprise X64: 双机热备软件HA-MIR: CAN通讯模块采用周立功CANNET-200T: 实验说明 本实验通过笔记本搭建VMwa ...
- 周立功CAN二次开发接口使用(C#)
通过C#实现通讯: 1.建一个CANDevice实体类,传递一些参数,并且保存一些设备的型号.ID,以及波特率等参数 using System; using System.Collections.Ge ...
- 一种非常实用的系统掉电检测和保护电路---摘自:周立功单片机
目录 本文导读 系统掉电保护的重要性和可行性 掉电检测保护电路功能框图 LM393比较器电路运用 MP1542升压电路运用 掉电检测保护电路的电源波形和工作过程 本文导读 可靠性是每一个产品的灵魂,如 ...
- labview周立功can通讯程序.rar_使用Labview进行CAN 通讯之dbc解析
作为一名汽车研发工程师,在工作中与CAN通讯打交道是不可避免的,其中CAN信号的打包与解析,是最令人头疼的事了,labview作为一种图形化编程语言,适合快速上手.而labview提供了许多的工具,有 ...
- Python基于周立功盒子的二次开发的封装和调用
Python基于周立功盒子的二次开发的封装和调用 一.介绍 前面我们介绍如何拿到官网给的例程并使用起来,但在使用的过程中,我们发现官网给的例子非常的冗长,可读性不好,于是我进行分解和封装,使得 ...
- 基于QT编写的周立功CAN,可进行uds、bootloder的上位机开发
基于QT编写的解析周立功CAN 1.介绍 应用场景:需要将CAN数据传输到上位机. 可以进行界面显示,做一些基于can的演示系统等 2.封装的模块 1.CanComm.c 中间层 封装通信函数 封装了 ...
- 我的25年嵌入式生涯-周立功
http://blog.chinaunix.net/uid-25498312-id-3246377.html <程 序员>杂志的编辑约我写一篇命题作文,想了几天都无从下手不知道写什么才好. ...
最新文章
- php一对一模型关联,thinkphp 模型关联一对一排序
- Sonar问题解决:普通方法调用静态属性
- Spring框架中bean的生命周期
- 如何在c语言中源文件调用另一个源文件的函数
- MongoDB在Linux下常用优化设置
- 张庆余(1991-),男,北京卡达克数据技术中心软件业务本部助理工程师,主要研究方向为软件架构、云计算。...
- 栈、队列(链表实现)
- pygame 文字输入交互_如何在pygame中创建交互式对象?
- javax.xml.ws.WebServiceException: Provider com.sun.xml.ws.spi.ProviderImpl not found
- Python 字典(Dictionary) items()方法
- VirtualBox虚拟机压缩减少体积
- libav的avplay修改支持sdl2.0
- Python学习-PY4E作业
- java输入值按回车下一个_java 如何 按回车 光标换到下个输入框
- Win10+RTX3060配置CUDA等深度学习环境
- xss labs 挑战之旅
- “无剑胜有剑”软件大师之路的一点探索
- Ubuntu18编译Kalibr报错总结
- 对对碰-第11届蓝桥杯Scratch省赛真题第6题
- Virtual PC 和 VMWare两大虚拟机BIOS修改方法