推荐周立功先生的一本书

640?wx_fmt=jpeg

1. 

这篇文章主要是推荐周工的一本书,大家在学习嵌入式的时候,很多人不明白嵌入式系统和单片机的区别,又感觉自己对嵌入式有所了解,知道什么是嵌入式,文章里的很多见解我觉得对很多人都非常有帮助,今晚上周工的电子书刚出来,我觉得应该第一时间推荐给大家,希望大家读完之后,会感受到嵌入式软件的框架、分层、各司其职的功能,还涉及到如果用 C 去实现面向对象编程。


我认为很多嵌入式系统都是相通的,我一直说我喜欢做嵌入式软件,也不完全只是做 linux 驱动,而对于软件开发人员,了解系统的特性才能编写出高质量的代码,说白了,真的不能乱来,就比如原子操作,互斥锁之类的,我觉得你在很多嵌入式系统中都会有,即使名字不完全一样,也会有类似的东西来解决同样原因引发的问题。


2. 

文章中的某一段,大家自行体会

文章摘录:

提到面向对象编程,往往会涉及到三个重要的特性:封装、继承与多态。可能很多人对这几个词语并不陌生,甚至是耳熟能详。就像笔者随机的问了几个公司的实习生,“面向对象编程的三大特性是什么?”几乎都可以不假思索的回答:“封装、继承与多态”。但是,在实际编程中,应用这些特性真的能像回答问题这么熟练吗?


部分 C 程序员(特别是嵌入式C程序员)有一种误解:C 语言不是面向对象编程语言,C++、Java、Python 等更高级的语言才是,使用 C 语言是无法实现面向对象编程的。这种误解致使他们没有意识去接触一些优秀的面向对象编程方法,例如设计模式、设计原则、软件架构设计等等,进而很难开发出易维护、易部署、易重用、易管理的软件,很难面对项目需求的变更(扩展),很难开发和维护大型的复杂项目。


本章将站在实际应用的角度,以 C 语言为例,对这些特性进行详细的介绍。实际上,AWorks 的核心及基础组件均是使用 C 语言编写的(当然,这并不影响上层应用使用 C++ 等其它语言。其实,众所周知的 Linux,其内核主要也是使用 C 语言实现的),但其中应用了大量的面向对象编程思想。通过这一章的内容,读者也可以更进一步的理解 AWorks。

640?wx_fmt=png


3. 

AWorks 是周工推出的一个嵌入式系统,我今天跟同事讨论,什么是嵌入式系统,Linux 是不是嵌入式系统?我觉得大家可以自己去理解,自己去学习,评论看看,到底什么才算是嵌入式系统。


我觉得对于做技术的同学有这样的机会接触这部分非常不错,了解大牛是如何搭建嵌入式系统框架的,这部分不像 Android ,很大原因是 Android 太能吃硬件资源了,做不到轻量级的系统开发。


AWorks 的学习链接如下:


AWorks链接

https://mp.weixin.qq.com/s/VWl15ALHaezkuR3ogeU0WA


如果获取电子书?

在公众号后台回复书名获取下载链接


抽象接口技术和组件开发规范及其思想 V0.2  」


如果觉得名字太长,还是直接复制过去比较方便

推荐阅读

分享一个非常 nice 的工具

我认识的周立功(内附广州周立功电子招聘)


640?wx_fmt=other

640?wx_fmt=jpeg





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图管够!灌篮高手、女儿国…阿里日_这帮程序员太会玩了!

5月10日是阿里一年一度的阿里日,这对阿里人来说,是个非常特别的日子。 那什么是阿里日呢?看看官方介绍: 它起源于2005年4月20日,是为了纪念2003年5月的“非典”时期阿里人的激情和信念。因此阿里巴巴决定,今…

复习Object类_日期时间类_System类_StringBuilder_包装类以及各类的细节

Object类_日期时间类_System类_StringBuilder_包装类以及各类的细节 主要内容 Object类Date类DateFormat类Calendar类System类StringBuilder类包装类 第一章 Object类 1.1 概述 java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都…

sql 整改措施 注入_SQL注入的漏洞及解决方案

一、sql注入漏洞1. SQL注入漏洞SQL注入攻击(SQL Injection),简称为注入攻击,SQL注入,被广泛用于非法获取网站控制权。这是在应用程序的数据库层中发生的安全漏洞。在设计程序中,忽略了对输入字符串中包含的SQL命令的检查&#xff…

check-lxdialog.sh: line 3: $'\r': command not found

问题 make all make[1]: Entering directory /cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/esp-idf/tools/kconfig /cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/esp-idf/tools/kconfig/lxdialog/check-lxdialog.sh: line 3: $\r: command…

Qt setMargin()和setSpacing() 的含义

mainLayoutnewQVBoxLayout(this); mainLayout->setMargin(30); //表示控件与窗体的左右边距 mainLayout->setSpacing(40); //表示各个控件之间的上下间距转载于:https://www.cnblogs.com/invisible2/p/6843159.html

复习Collection_迭代器使用细节_泛型_综合案例

Collection_迭代器使用细节_泛型_综合案例 主要内容 Collection集合迭代器增强for泛型 第一章 Collection集合 1.1 集合概述 集合:集合是java中提供的一种容器,可以用来存储多个数据。 集合和数组既然都是容器,他们之间的区别: 数组的…

esp32 coredump分析

写文章的原因 网上很多人写了 esp32 的coredump 分析,好吧,我看了下,都是从网上摘抄的,根本跑不通,我想写一个给大家有用的。 官网文章 https://esp-idf-zh.readthedocs.io/zh_CN/latest/api-guides/core_dump.html…

iphone mac地址是否随机_iOS8随机MAC地址功能:需要满足前提要求

苹果今年WWDC大会上透露过 iOS8 当中将具备一个连接 Wi-Fi 时随机生成 MAC 伪地址的功能,用来防范一些提供 Wi-Fi 的不法商家获取用户的隐私数据挪作它用。近日,一家名为 AirTight Networks 的移动安全技术研究公司发布了一份针对该功能的调查报告&#…

Kubernetes dashboard集成heapster

图形化展示度量指标的实现需要集成k8s的另外一个Addons组件: Heapster 。 Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS ,并且支持多种存储后端,比如: InfluxDB 、 ElasticSearch 、 Kafka 。 下载源包和images文件 下载地址h…

复习JavaFile类_递归_综合案例

复习File类_递归 主要内容 File类递归 第一章 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作, 这里需要注意一点File不能用于对文件内容进行操作, 对文件内容进行操作需要使用FileInputStream与Fi…

ESP32 分区介绍

软件设计分区表 如上图是正常运行需要的分区,一个系统的正常运行是需要这么多分区的。 分区表,我们软件默认配置的分区表如下 # Espressif ESP32 Partition Table # Name, Type, SubType, Offset, Size, Flags nvs,data,nvs,0x9000,16K, otadata,data,…

python坦克大战_Life is short,you need Python——Python实现坦克大战(一)

先展示一下效果搓搓小手手,坦克大战即将开始……https://www.zhihu.com/video/1140743290784817152一、游戏引擎的安装安装方式有两种:1.pip安装 windows R --> cmd --> pip install pygame2.pycharm安装 File -->setting -->project -->…

【java设计模式】【行为模式Behavioral Pattern】迭代器模式Iterator Pattern

1 package com.tn.pattern;2 3 public class Client {4 public static void main(String[] args) {5 Object[] objs{"飞","雪","连","天","射","白","鹿","笑","书",&…

复习Java字节流_字符流使用及案例

字节流_字符流 主要内容 IO流字节流字符流异常处理Properties 第一章 IO概述 1.1 什么是IO 生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrls ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频…

ESP32 coredump 分析

1. 上次写了一个 ESP32 入门,我想有必要再写这篇文章,这次主要是分析 coredump 的,这就像 Android 和 Linux 系统的死机分析,有意思,也有难度。我们写代码的时候,不可避免的会遇到一些 coredump 的问题&am…

pycharm变量存_pycharm不为人知的功能们

一、远程调试这个功能真的好用,现改现测参考的博客写的挺详细的,补充一下个人的注意事项1.要选sftp连接,否则连接不上(没有具体查找原因,sftp挺好用的就用着),端口是222.Connection中的Root path指定根目录&#xff0c…

css div设置inline-block后 div顶部对齐

div{vertical-align:top}转载于:https://www.cnblogs.com/SunSong/p/6846776.html

我那个在华为过得很好的朋友

最近华为的事件又上了热搜,不管是微信还是知乎,都在啃这个热点,一种是看热闹不闲事大的,一种是看热闹闲事大的,我呢?昨晚跟我的一个华为朋友玩了几把王者荣耀,虽然不能带他全盘浪,但…

Redis概述_使用命令对redis的数据进行增删改查_Jedis连接redis进行数据操作_redis进行数据缓存案例

学习目标 redis 概念下载安装命令操作 1. 数据结构持久化操作使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库1.1.什么是NOSQLNoSQL(NoSQL Not Only SQL),意即…

cif t t操作流程图_外贸跟单员的详细工作流程:跟单员工作流程图

外贸跟单员详细工作流程外贸跟单员定义: 外贸跟单员是指在进出口业务中,在贸易合同签订后,依据合同和相关单证对货物加工、装运、保险、报检、报关、结汇等部分或全部环节进行跟踪或操作,协助履行贸易合同的外贸业务人员。外贸跟…