嵌入式 C 语言大神的进阶之路

C语言可以说是一种"古老"的编程语言,也是目前嵌入式中主流的编程语言,没有C语言就没有今天的各种嵌入式系统以及操作系统等等。

           

C语言虽然说是编程开发的基础,那到底你掌握到了什么程度呢?

下面我们一起看看C语言熟练到精通的几个层级:

新手村

在大学学过《C语言程序设计》相关的书籍,掌握的不错的获得计算机二级等考证,应付个期末考试,顺便拿个毕业证啥的。

掌握的程度:掌握C语言的基本语法,会鸡兔同笼100条腿的编程,会冒泡排序等。

初入此门

学会使用C语言编写程序、开发一些小项目项目,应该算是把C语言开始用于实际应用中了。

掌握的程度:掌握一个模块的封装与调用、函数接口的声明与定义、C语言的多文件编程,能做一些简单的C语言项目,但需要参考一些案例,

编程的时候大多数时候需要翻书、百度、Google,去寻求程序应该怎么写,对语句、语法的掌握不精通。

登堂入室

熟练掌握C语言编程,精通掌握C语言的各种语法,编写程序时不再需要翻书。

知道C语言编程中可能遇到的各种坑:内存泄漏、段错误,熟练掌握指针、数组、二级指针、指针数组、数组指针等复杂语法的使用。

基本上能够根据自己的思路来设计一些应用程序。

小有所成

经过多年编程实战,已经对C语言编程了如指掌,深谙C语言各种编程技巧和语法,

并从以往的编程经验中不断反思、总结、提炼,编程能力大幅提升。

知道如何使用C语言进行大型项目开发、大型项目管理;

学会从用户需求、软件工程、项目管理的角度去看待C语言,深谙各种编程语言的优劣。

掌握各种开发环境和调试技能,遇到工程问题,能快速定位,具有独立分析问题、快速解决问题的能力。

凡人天花板

在C语言、嵌入式开发领域打磨多年,看问题的视角不再仅仅局限于C语言本身,而是C语言背后的底层运行机制、硬件工作原理。

熟悉一种或几种CPU架构,掌握几种架构的汇编语言,学会使用反汇编去分析C语言底层运行过程;

熟悉编译原理、操作系统、算法、CPU体系结构等全栈知识体系。

在一个公司的项目开发过程中,当工程师遇到久久解决不了的技术难题时,一般就需要这种级别的大佬出来救场了。

大神

专家常有,而大神不常有。

到了这个层次,除了工作经验的积累、勤奋持续地学习和自我激励之外,一般还需要兴趣和天分这种 buffer 加持。

此时,学习嵌入式、C语言不再是应付工作或者项目需要,而是兴趣使然。

兴趣与热爱促使一个人愿意花更多的时间和精力在编程上面,而忽略了身边其他的东西。

他们可能不怎么注意卫生,情商也不太高,但假以时日,他们会从一群人中脱颖而出,渐渐在圈内小有名气,并成为周围人膜拜的对象。

他们不愁工作,仿佛自带光圈,到哪里,哪里一片光明,他们工作的气场很强大,已经超越了嵌入式、C语言本身,

而且说不定会感染到你,让你浑身也充满了能量,跃跃欲试。

和他们在一起工作的心情是愉快的,仿佛在打一场王者高端局,执行到位,配合娴熟,时不时来一波小高潮,让人酣畅淋漓。

所以,要珍惜身边这样的人,或者具有这种潜力的人。

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

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

相关文章

第十三节TypeScript 元组

1、简介 我们知道数组中元素的数据类型一般都是相同的(any[]类型的数组可以不同),如果存储的元素类型不同,则需要使用元组。 元组中允许存储不同类型的元素,元组可以作为参数传递给函数。2、创建元组的语法格式&#x…

python:改进型鳟海鞘算法(SSALEO)求解23个基本函数

一、改进型鳟海鞘算法SSALEO 改进型鳟海鞘算法(SSALEO)由Mohammed Qaraad等人于2022年提出。 参考文献:M. Qaraad, S. Amjad, N. K. Hussein, S. Mirjalili, N. B. Halima and M. A. Elhosseini, "Comparing SSALEO as a Scalable Larg…

阻抗控制中的弹簧与阻尼影响分析

阻抗控制是一种机器人控制方法,通过调整机器人的阻抗来实现对机器人的精准控制。在阻抗控制中,弹簧和阻尼是两个重要的参数,它们对机器人的性能和稳定性有很大的影响。 弹簧代表机器人的刚度和弹性,而阻尼代表机器人的阻尼特性&a…

rabbitmq的事务实现、消费者的事务实现

RabbitMQ提供了事务机制,可以确保消息在发送和确认过程中的一致性。使用事务机制可以将一系列的消息操作(发送、确认、回滚)作为一个原子操作,要么全部执行成功,要么全部回滚。 下面是使用RabbitMQ事务的一般步骤&…

DRF从入门到精通四(视图基类、GenericAPIView的视图扩展类、视图子类、视图集父类、子类)

文章目录 前言一、视图基类APIView基类GenericAPIView通用视图基类 二、GenericAPIView的视图拓展类1.ListModelMixin2.CreateModelMixin3.RetrieveModelMixin4.UpdateModelMixin5.DestroyModelMixin 三、GenericAPIView的视图子类ListCreateAPIViewRetrieveUpdateDestroyAPIVi…

中庸 原文与译文

《中庸》是中国古代论述人生修养境界的一部道德哲学专著,是儒家经典著作之一,原属《礼记》第三十一篇,相传为战国时期子思所作。 其内容肯定“中庸”是道德行为的最高标准,认为“至诚”则达到人生的最高境界,并提出“…

C语言中关于if else的理解

if else我们可以理解为 if(条件1) //如果条件1成立 语句1; //执行语句1 else //如果条件1不成立 语句2; //执行语句2 这是一个经典的if els…

大数据技术学习笔记(十一)—— Flume

目录 1 Flume 概述1.1 Flume 定义1.2 Flume 基础架构 2 Flume 安装3 Flume 入门案例3.1 监控端口数据3.2 实时监控单个追加文件3.3 实时监控目录下多个新文件3.4 实时监控目录下的多个追加文件 4 Flume 进阶4.1 Flume 事务4.2 Flume Agent 内部原理4.3 Flume 拓扑结构4.3.1 简单…

1861_什么是H桥

Grey 全部学习内容汇总: GitHub - GreyZhang/g_hardware_basic: You should learn some hardware design knowledge in case hardware engineer would ask you to prove your software is right when their hardware design is wrong! 1861_什么是H桥 H桥电路可以…

蓝桥杯c/c++程序设计——数位排序

数位排序【第十三届】【省赛】【C组】 题目描述 小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序。 当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面。 例如&#xff0…

reactive和TypeScript标注数据类型-ts使用方法

一、vite项目中<script setup lang"ts"> : lang"ts" 是表明支持ts校验&#xff08;ts 全称typescript,是es6语法&#xff0c;是javascript的超集强类型编程语言&#xff0c;类似java&#xff0c;定义变量类型后&#xff0c;赋值类型不一致&#xff0…

Cesium.js相关官网或博客

Cesium.JS Cesium: The Platform for 3D Geospatial Cesium API 中文&#xff1a;Cesium中文api文档 | Index - Cesium Documentation 英文&#xff1a;Index - Cesium Documentation Cesium中文网&#xff08;私人博客&#xff09; http://cesium.xin 天地图&#xff08;三维…

C中的“volatile”限定符

1、概述 尽管有大量C语言的文献&#xff0c;但是 “volatile” 关键字在某种程度上还是不能被很好地理解&#xff08;甚至是有经验的C程序员&#xff09;。究其原因&#xff0c;是在用高级语言编写的典型C程序中&#xff0c;没有 “volatile” 变量的真实用例。基本上&#xf…

创建一台可以安装linux系统的虚拟机的流程

1、打开vmware-->点击左上角文件-->新建虚拟机-->自定义 2、默认选择&#xff0c;直接下一步 3、选中稍后安装操作系统&#xff0c;然后下一步 4、选中Linux&#xff0c;然后下拉框选择CentOS7(64位) 5、设置虚拟机名称及存储位置 6、设置虚拟机处理器数量及核心数 7、…

选择排序之C++实现

描述 选择排序&#xff08;Selection Sort&#xff09;是一种简单直观的排序算法。它的基本思想是&#xff1a;每一轮从待排序的数据中选择最小&#xff08;或最大&#xff09;的一个元素&#xff0c;然后与待排序数据的第一个元素交换位置。对剩余未排序的数据重复这个过程&a…

Python与ArcGIS系列(十七)GDAL之shp转geojson

目录 0 简述1 Shapefile (SHP) 格式2 GeoJSON 格式3 代码实现0 简述 Shp格式是GIS中非常重要的数据格式,主要在Arcgis中使用,但在进行很多基于网页的空间数据可视化时,通常只接受GeoJSON格式的数据,众所周知JSON是利用键值对+嵌套来表示数据的一种格式,以其轻量、易解析的…

测试:JSON JSON5

JSON JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;它基于JavaScript编程语言的一个子集。JSON是用于数据传输的一种格式&#xff0c;它易于人阅读和编写&#xff0c;同时也易于机器解析和生成。JSON格式由两部分组成&#…

MySQL_16.数据库事务相关概念

1.数据库事务 是指作为单个逻辑工作单元执行的系列操作,要么完全执行,要么完全不执行 2.事务的属性 (1)原子性 Atomicity: 原子性是指事务是一个不可分割的工作单位&#xff0c;事务中的操作要么都发生&#xff0c;要么都不发生 (2)一致性 Consistency: 事务前后数据的完…

【数据库设计和SQL基础语法】--事务和并发控制--事务的概念和特性

一、SQL事务基础 在数据库管理系统&#xff08;DBMS&#xff09;中&#xff0c;事务是指一个或一组数据库操作的执行单元&#xff0c;它被视为一个不可分割的工作单位。事务的目的是要确保数据库的完整性和一致性&#xff0c;即使在发生故障或错误的情况下也能保持数据的一致性…

【【IIC模块Verilog实现---用IIC协议从FPGA端读取E2PROM】】

IIC模块Verilog实现–用IIC协议从FPGA端读取E2PROM 下面是 design 设计 I2C_dri.v module IIC_CONTROL #(parameter SLAVE_ADDR 7b1010000 , // E2PROM 从机地址parameter CLK_FREQ 26d50_000_000 , // 50MHz 的时钟频率parameter …