嵌入式
枪哥玩转嵌入式
嵌入式获取地球:ling910091,上位机获取地球:huashanvision3
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
很多学习嵌入式的人都是从电子类的专业
也许很多从业的程序员,不乏专业水平相当优秀的,认为这些并不重要。我只能说,你命好,做这种具体的工程大于理论的东西。实际上,如果从一个嵌入式的程序员成长为系统设计者,或者更高的技术职位,要从更深的层次看问题。点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!在开始前我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」,有几种,恐怕只知道冒泡和希尔,相关推荐:图解C语言的希尔排序。,基数链式排序这些算法,更不知道还有内部排序和外部排序之分。原创 2024-05-17 15:02:16 · 188 阅读 · 0 评论 -
没学数模电可以玩单片机吗?
比如我们画了一个原理图,它包含很多模拟电路模块和数字电路模块,那么在做PCB设计时,就需要考虑数电、模电两模块之间的相互干扰,它们能否共用地线等问题。又比如我们拿到一个新的元器件,它采集模拟信号传递给单片机,那么在使用这个元器件时我们就需要根据它的时序图编写信号采集代码,在单片机中编写相应的摸、数转换代码,这就涉及较深入的数电模电知识了。推荐自学单片机的朋友要有自己的开发板,吃透这个开发板的原理图,那么大多数基本电路就可以通过原理图衍生设计出来,所以搞懂开发板的原理图很重要。下面给大家分析一个案例。原创 2024-03-28 14:58:15 · 3084 阅读 · 6 评论 -
单片机学到什么程度才可以去工作?
这取决于你想要找什么样的工作,以及你的学习能力和努力程度。:这是单片机开发的基础,你需要熟练掌握C语言的语法和关键字,以及常用的数据类型、运算符、控制语句、函数等。除了理论知识之外,你还需要通过实践来巩固你的知识和技能。:汇编语言可以让你更深入地了解单片机的底层工作原理,从而编写出更高效的代码。:你可以尝试将你的知识和技能应用到实际应用中,例如设计和制作一个电子产品。:你需要了解单片机的基本结构和工作原理,以及常用的外设功能和使用方法。:你需要了解嵌入式系统的基本概念和原理,以及常用的嵌入式操作系统。原创 2024-03-28 14:56:01 · 5564 阅读 · 13 评论 -
Java 编程中有哪些常见的数据结构和算法?
2. 链表 (Linked List):由一系列节点组成,每个节点包含对下一个节点的引用,适合频繁的插入和删除操作。3. 栈 (Stack):一种后进先出(LIFO)的数据结构,用于实现如函数调用的嵌套和撤销等场景。1. 数组 (Array):是最基础且使用广泛的数据结构,可以存储固定大小的同类型元素序列。4. 队列 (Queue):一种先进先出(FIFO)的数据结构,常用于任务调度和缓存等。6. 树(Tree):一种分层数据结构,广泛用于存储具有层级关系的数据,例如文件系统。原创 2024-03-26 15:34:17 · 530 阅读 · 1 评论 -
c语言应该怎么系统的学习?
如果你不熟悉语言,可以去看看语言和例程,如果你对C语言的语法有一定了解,可以深入学习这些语法的实践,最好的办法是学习linux源码,系统级的源码可以让初学者站在巨人的肩膀上,先学会ctl c v,从形上学习优秀代码的写法,然后才能模向纵向理解计算机原理,代码组织实现,当然也有很多嵌入式rtos开源代码如threadx系列,基本上都是C语言实现,还有很多跟芯片相关的内容。知识是学不完的,常学常新,每个人的经验,思维悟性都不一样,在实践中不断偿试找一个适合自己的方法。c语言应该怎么系统的学习?原创 2024-03-26 15:33:09 · 300 阅读 · 0 评论 -
像大疆这样的公司会不会用STM32这样的满大街都是的芯片?
我就举一个例子:我做一个功能在所有芯片上都是好的,在ST其他系列也是好的,但是换了新型号的芯片就出了问题,而且ST的人来了修改后变好了,那100%说明是ST的问题,至于你这个芯片怎么做出来的用的什么沙子,什么提纯工艺,你的内核架构怎么设计,怎么做在芯片上,谁代工的,跟我没半毛钱关系,这也不是一个伺服工程师应该去想的。我看到个别人做不到这一点,认为写代码的是万能的,可以弥补芯片的缺陷,我认为是很可笑的,这样的人我觉得是不可能做出好的产品的,因为根本就不专业,这样的人所处的公司也没有清晰的职能结构。原创 2024-03-25 14:28:06 · 1119 阅读 · 0 评论 -
学习嵌入式linux到底是在学什么?网上好多都是学习路线
Linux内核:嵌入式Linux学习通常会涉及到理解Linux内核的基本原理,包括进程管理、内存管理、设备驱动程序等。设备驱动程序开发:嵌入式Linux中,你可能需要编写或调整设备驱动程序,以使嵌入式硬件与Linux系统正常通信。这包括学习Linux设备模型、字符设备、块设备等概念。嵌入式Linux应用开发:开发基于Linux的嵌入式应用程序,可能涉及到网络编程、图形界面开发、嵌入式数据库等。在开始前我分享下我的经历,我刚入行时遇到一个好公司和师父,给了我机会,一年时间从3k薪资涨到18k的,原创 2024-03-25 14:26:21 · 357 阅读 · 0 评论 -
C语言仅凭自学能到什么高度?
如果真的是有天分,一看就会,那我觉得即使是自学,也可以变成大佬。作为一个老师,我见过形形色色的学生,深刻的能感觉到天分的重要性。努力很重要,但是天赋更重要,如果觉得自己真的学不会,那就放下吧。机构要赚钱,我们不能拆台,但是在知乎,我还是实话实说吧。所以,我的建议是,你有兴趣,就去试试。如果你能很轻松的打倒了第一个BOSS——循环,那我觉得就OK,如果你绕了半天都没绕清楚++在前和在后的区别,那就算了吧。人都是逼出来的,除非某些定力神人,或者真的是十分感兴趣,否则真的就成了从入门到放弃。原创 2024-03-23 15:44:00 · 232 阅读 · 0 评论 -
一本往届转行嵌入式机会大吗?
嵌入式的学习总的来说大致可以分为三个阶段:①基础学习阶段,也就是通用编程基础(C语言、数据结构/算法、操作系统、计网、计组、Linux系统基础)和基本的硬件基础;这里面一共分成了12个部分,涵盖了嵌入式学习的核心内容,也是我当初培训内容的精简版概括,当然不同的同学学习需求和学习目标也会略有变化,不一定全部都要学习,毕竟就业岗位也分。以下是我当初在培训机构学习期间整理的框架给到你参考一下哈:在开始前我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」,等,也可以专精一个方向。原创 2024-03-23 15:40:53 · 228 阅读 · 0 评论 -
为什么 JavaScript 在国外逐渐用于前端+后端开发
最前沿的是,SFF(Serverless for front end)做 Edge Computing,参考国内的 Noslate 生态,这些都需要用 JS 运行在后端上。现在主流的后端语言中,JAVA 也是 Oracle 的亲儿子,Go 也是 Google 的亲儿子,听起来也是国外和国外的生态在 PK。国内程序员是个个生态的重要玩家,但是总的来说,这些语言国外也流行,国内也流行。不存在国内的人不玩这个生态。第四点:JS 的事件驱动框架做 Rest 服务是合适的,因为这种服务是 IO 密集型。原创 2024-03-22 14:52:47 · 434 阅读 · 1 评论 -
校招C++大概学习到什么程度?
在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C++的资料从专业入门到高级教程」,被问到的时候也是一脸懵逼,我想的是如果C++的话不应该用new吗?然后我就说我都是用new,但是C里面还有malloc。的开销,并且inline是一个建议关键词,编译器会自己决定到底inline还是不inline。可以用在被多次包含的头文件中,防止多个编译单元在链接的时候报duplicate definition的错误。被问到的时候我是懵逼的,因为我只知道inline会把函数体替换到调用的代码段,省去了一次。原创 2024-03-22 14:50:28 · 528 阅读 · 0 评论 -
前言:为什么C语言最适合编程入门?
同时,C语言也支持高级编程概念,如函数、数组、结构体等,为后续的编程学习打下坚实的基础。需要注意的是,虽然C语言适合作为编程入门语言,但并非所有场景都适合使用C语言。在选择编程语言时,应根据具体需求和场景来选择合适的语言。因此,在学习C语言的同时,也应注重培养自己的逻辑思维和创新能力。丰富的资源:由于C语言历史悠久且应用广泛,因此网络上有着丰富的C语言学习资源和社区支持。培养严谨性:C语言是一种强类型语言,它要求程序员在编程时必须严格遵守语法规则和数据类型,这有助于培养初学者的严谨性和良好的编程习惯。原创 2024-03-21 14:38:41 · 735 阅读 · 1 评论 -
C++多线程都可以对同一个全局变量读写,不设置锁应该没关系吧?
首先,64位的CPU,一次操作是64位,8个字节。1、如果操作是单一的Load或Store,就是只是读一次,或只是写一次,不跨Cacheline的内存变量,不需要加锁,由CPU内的MESI机制保证一致性。如果对内存变量的操作是很简单的++,或加n,还可以使用CPU本身提供的LOCK前缀,以“无锁”的方式进行。也就是说,对于不跨CacheLine的内存变量,一次load、一次Store,是不需要加锁的。因此,就算线程在某一个二制位上,不会和其他线程竞争,但在特定二制位所在字节上,还是会和其他进程竞争。原创 2024-03-20 14:20:59 · 738 阅读 · 0 评论 -
编程语言那么多,为什么偏偏是C语言成了大学的必修课?
那时候谁不是以JAVA移动端应用为主流,仅仅三年时间,Python基本全面取代JAVA在安卓上的地位,至于那些什么JSP,现在连前后端融合都出来了,JQuery盛极一时也不免落伍。必修C是因为大家都认同这个原理,哪怕你写设计文档,伪代码用Python,用JAVA还是用PHP?在基础标准上,大家都认可c的基本形式与标准,算是程序员间的通用语言。当年我们还以必修JAVA,JSP为主要论点,然而刚过两年,JSP就成古董了。但是必修C,谁不服就把内核拉出来认个血缘下,你就算再不服也跳不出几步。原创 2024-03-20 14:17:58 · 270 阅读 · 0 评论 -
c++多长时间会被Python或者其他语言取代?
虽然Python确实有工控、嵌入式方面的库,比如MicroPython等,但只能用在原型设计阶段,做做实验,根本不可能用在正式项目上。国产深度和麒麟系统上面案例挺多的,代码跟WPF通用,招人很容易,有WPF经验的,一天就能上手。工业控制、工业自动化方向,一直是C#的优势领域,自从C#部署到.NET那天开始,C++从来没赢过。在开始前我分享下我的经历,我刚入行时遇到一个好公司和师父,给了我机会,一年时间从3k薪资涨到18k的,自.NET跨平台至今,C++能做的工作,C#都能做了,且性能差别不大。原创 2024-03-19 15:04:35 · 456 阅读 · 0 评论 -
嵌入式自学多久可以找工作?应届生找嵌入式工作难吗?
嵌入式产品的原理实现,一般不太复杂,但是经验非常重要,大部分的硬件电路和软件程序是保障产品可靠性的,这些知识学校里学不到。我录用过一个同事,他的专业是医学护理,正常情况下,他毕业后是男护士。大一结束开始自学嵌入式,大概大二大三的时候,就可以给一些企业打零工了,经验还不错。我自己就是兴趣驱动,参加工作的前两年,也是干些边边角角的工作,边工作边学习,争着抢着给老员工打下手,慢慢就有机会了。绝对的零基础,他就是真喜欢,爱钻研、很勤奋。总之,先确定自己喜欢不喜欢,兴趣、信心、做好吃苦的准备,其它都不是问题了。原创 2024-03-15 14:20:05 · 768 阅读 · 0 评论 -
为什么很多人害怕学C/C++语言?零基础的你怕吗?
学习任何一门新的知识都会面临挑战,关键是要有耐心和恒心,通过不断的练习和学习,逐渐掌握和理解C/C++语言的知识和技能。最终,克服困难,会发现学习C/C++语言的过程不仅让自己成长,也会为未来的编程之路打下坚实的基础。很多人害怕学习C/C++语言是因为这两种语言相对于其他编程语言来说比较复杂,语法严谨,需要深入理解计算机底层原理,而且对于零基础的学习者来说可能会感到困难和挑战。另外,C/C++语言也需要花费更多的时间和精力去掌握。点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!原创 2024-03-14 14:48:07 · 586 阅读 · 0 评论 -
为什么拥有C语言基础的人,依然学不会C++?
现代C++开发往往涉及大量库和框架的使用,这些库和框架的复杂性有时甚至超过了语言本身,对于习惯了简单C语言环境的人来说,适应起来也是一个挑战。已经熟悉C语言的程序员可能倾向于继续使用他们熟悉的编程模式,即使在C++环境下,也不自觉地忽视或避免使用C++的现代编程实践和高级功能。如果教程、教材或老师的指导方式未能强调并清晰解释C++特有的高级特性和设计理念,学生容易停留在使用C++编写类似C语言风格的代码阶段。在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C语言 的资料从专业入门到高级教程」,原创 2024-03-14 14:46:36 · 537 阅读 · 0 评论 -
为什么 VSCode 不用 Qt 而要用 Electron?
对于微软这种大公司而言,选择更加宽松的electron肯定比Qt安全,虽然VSCode免费使用的,但VSCode并不是开源的,微软开源的是vscodium(vscode是在vscodium上加了点自己的东西,有点类似谷歌的Chrome和chromium),VSCode也是有商业版权的,所以使用Qt的话要去跟Qt扯皮,所以微软会尽量避免使用这种框架。前者要求如果软件是有商业目的的就需要授权,不授权的话对方就可以起诉你(Qt是由公司开发的,这家公司先被诺基亚收购,然后2012年,还被Digia收购了)。原创 2024-03-13 14:33:08 · 1343 阅读 · 0 评论 -
Qt 如此强大为什么就是火不起来呢?
因为缺少开发人员,导致企业难以招到高质量的Qt工程师,然后不愿意展开Qt的项目,这简直就是恶性循环。但是Qt没有在被大规模的采用,往往是只有部分行业内Qt的使用率很高,这的确是事实。在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Qt 的资料从专业入门到高级教程」,)仍然没在Qt圈子里普及,甚至很多人都不知道这是什么以及这个能干什么,这更别说其他工程师们了。Qt是我的主力开发框架,我拿Qt开发了客户端,服务器端,桌面端,移动端甚至还包括点。在我用Qt的这些年里,Qt一直处于不温不火的状态。原创 2024-03-13 14:25:53 · 741 阅读 · 0 评论 -
稚晖君算嵌入式的天花板吗?
以入门来说,阿克曼小车为例,给出完整的材料和教程以及足够的底层实现,加上间断性的讲解和指导,我带过的高中生能在一个月内实现基本的避障,快的大概3个星期。robotics方面我教过挺多学生的,从高中生到一年级博士生都有一些,其实这一行入门不难,精通有很大难度,天花板我很难说在哪里,我自己还在入门和精通之间,离精通还有差距。研究生和博士生其实上手时间和本科生差距不大,需要在算法上有更深的理解,一般需要在文档缺失的情况下复现调试一些算法,判断可行性和适用性,并思考解决和改进方案。原创 2024-03-12 14:47:42 · 532 阅读 · 1 评论 -
嵌入式工资为啥比纯软工资低那么多?
而且即便是嵌入式,也常常能遇到一个人没法覆盖嵌入式的全部技能的情况。常用的单片机就好几种,每种各有特点,AVR/PIC/51编程简单,ARM/RISC-V功能强大,MSP320的功耗低。从嵌入式产品常见流程,最初售前去到处找客户,产品去整理需求,工程师来做实现,然后是部署和售后,最后销售还要去催回款。一个产品的研发,从最初的需求,到最后的回款,整个流程里,一个人能占据的步骤越长,价值越大,拿到的钱就越多。在开始前我分享下我的经历,我刚入行时遇到一个好公司和师父,给了我机会,一年时间从3k薪资涨到18k的,原创 2024-03-12 14:45:28 · 663 阅读 · 0 评论 -
学c还行,学Python很累,还有其他语言适合我吗?
如果你觉得学习Python比较累,可能是因为Python的快速开发和自动化特性要求学习者快速适应其众多的库和框架,这对于初学者来说可能会有些吃力。:如果你对移动应用开发感兴趣,特别是苹果生态的应用,Swift是一个很好的选择。:Java是一种强类型、面向对象的语言,它的“一次编写,到处运行”的特性使得Java应用非常广泛。:如果你喜欢C语言的效率和接近硬件的特性,Go语言可能是一个不错的选择。在开始前我分享下我的经历,我刚入行时遇到一个好公司和师父,给了我机会,一年时间从3k薪资涨到18k的,原创 2024-03-11 14:55:05 · 2139 阅读 · 0 评论 -
有c语言基础,如何快速学会C++核心知识?
面向对象编程(OOP)支持:C++是一种支持面向对象编程的编程语言,它提供了类、对象、继承、多态等OOP特性,使得程序结构更加模块化、可维护性更强,代码复用性更高。如大家和我一样需要我可以分享资料在评论区扣888或私我888C语言学的是底层思维,学完C语言后学习C++可以让你掌握更强大、更灵活的编程工具,拓展你的编程能力。更丰富的库支持:C++标准库包含了丰富的函数和类,包括输入输出、容器、算法、文件操作等各种功能,使得开发者能够更加便捷地实现复杂的应用程序。有c语言基础,如何快速学会C++核心知识?原创 2024-03-11 14:53:19 · 667 阅读 · 0 评论 -
学习嵌入式C语言要掌握到什么程度?
英语语法就这点东西,你需要进一步学习的是,如何通过英语语言这个工具,去了解英文圈文化、历史文化、法律政治、西方人的思维等等,否则你就无法理解西方人说话的一些“梗”,不算掌握一门地道的英语。等)、40多个运算符、再明白数据的基本类型、程序的顺序、分支、循环3种基本结构,就OK了,就这点东西。来说,我们要学习的不仅仅是C语言的基本语法,更重要的是如何通过C语言这个工具,去理解我们的计算机系统、CPU架构。在开始前我分享下我的经历,我刚入行时遇到一个好公司和师父,给了我机会,一年时间从3k薪资涨到18k的,原创 2024-03-08 15:40:20 · 941 阅读 · 0 评论 -
大型c++项目在linux下如何调试?
本地运行的程序,如果项目本身是在IDE里开发的,那自然可以用IDE调试。业务逻辑是指程序本身的算法和数据,如果问题不复杂的话,其实二分法print还是挺好用的。在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Linux 的资料从专业入门到高级教程」,另外,VS Code的远程开发插件也支持调试的,配置妥当的话效果不错。点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!用这张图里的工具了,细节不展开讲,每个工具都有特定的适用场景。其次要分调试业务逻辑还是调试系统层面的问题。原创 2024-03-07 14:23:50 · 709 阅读 · 0 评论 -
为什么桌面领域没有一款 Linux 或 UNIX 能与 Windows 鼎足而立?
于是就有了这么一个合作,IBM PC 的这个公开标准,从那个时候开始确立,这就是我们现在使用的个人电脑。Linux本身来源于对Unix功能的实现,功能较多较复杂,早期PC的性能根本不足以流畅运行Linux,直到80386时代,才算是诞生了第一款能流畅运行Linux的PC平台。IBM 很可能非常后悔当年请微软来做这个操作系统而没有自己做,后来 IBM 做了 OS/2 Warp,系统本身非常优秀,当年IBM的实力也绝对不会比微软弱,可这个优秀的系统依然无法战胜微软。真正的原因,就是先发优势。原创 2024-03-07 14:21:53 · 515 阅读 · 0 评论 -
干java开发快6个月了感觉自己并不适合开发的岗,接下来怎么办呢
1 和日常工作难度以及工作氛围无关,单纯的只是自己不喜欢坐在电脑面前写代码,比较向往自由的好动人士,这种基本无解,可以趁早转行,因为性格方面就不适合程序员这种久坐不动的职业。这种建议自己加强学习,工作中尽量寻求帮助,坚持下去熬过新手期就能慢慢好转,很多程序员基本上都经历过这么个过程。点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!干java开发快6个月了,感觉自己并不适合开发的岗位,接下来怎么办呢?干java开发快6个月了,感觉自己并不适合开发的岗位,接下来怎么办呢?原创 2024-03-06 14:28:19 · 703 阅读 · 0 评论 -
为什么Linux包管理变成噩梦,以至于大家都要逃离它?
说真的,我用过的所有包管理器里最舒服的是 Windows的Scoop,也不是这包管理器本身设计的多好,只是因为 Windows传统下软件依赖的外部库很少,习惯于封装到一块,几乎碰不到冲突问题。相比之下Linux就一堆事了,代码拉下来因依赖冲突编译不过是常有的事,连Ubuntu这样习惯于冻结软件版本的包管理器,有时autoremove 都能出问题,Arch的 pacman一更新崩点小东西更是时有发生的事,但直接滚挂系统我倒是没碰到过。点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!原创 2024-03-06 14:25:06 · 459 阅读 · 0 评论 -
从零开始学单片机,该怎么入门?
如大家和我一样需要我可以分享资料在评论区扣888或私我888准备:一块51开发板,一块32开发板,书籍《新概念51单片机》《stm32不完全手册库函数版》,视频网上一搜,多得多(推荐哔哩哔哩网站学习),c语言学习(推荐视频)32单片机看库函数手册,跟着手册刷一遍,同样是点灯,按键,中断,定时器,串口通信,再多学输入捕获和pwm输出,了解怎么配置库函数就成,还没必要自己去手写一批寄存器和库函数。有需要资料的我可以免费分享,私我就行。然后,点灯,跑马灯,按键,中断,定时器和串口通信都学一遍。原创 2024-03-05 14:38:48 · 582 阅读 · 0 评论 -
没有硬件基础可以学单片机吗?
学习单片机并不要求先具备硬件基础,只要你对电子技术和编程感兴趣,并愿意学习和探索,就可以开始学习单片机。3. 获得单片机开发工具:选择一款常用的单片机开发工具,例如Arduino、Raspberry Pi等,这些工具提供了简单且易于使用的开发环境和丰富的资源。记住,单片机学习是一个持续的过程,需要不断实践和探索。通过逐步学习和实践,你可以逐渐掌握单片机的技术和应用,开展自己的项目并进行更高级的创作。在开始前我分享下我的经历,我刚入行时遇到一个好公司和师父,给了我机会,一年时间从3k薪资涨到18k的,原创 2024-03-05 14:31:37 · 1853 阅读 · 2 评论 -
Arduino、arm、树莓派、单片机四者有什么不同?
ARM系列处理器很少集成片上硬件资源,更接近今天的处理器范畴,基本不被认为是单片机而单片机是一种集成电路芯片,是采用。开发出处理器结构后向其他芯片厂商授权制造,芯片厂商可以根据自己的需要进行结构与功能的调整,因此实际中使用的ARM处理器有很多种类,主要有三星、飞利浦、ATMEL、INTEL制造的几大类,功能与使用上均不相同。点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!ARM指的是一种处理器架构,一种处理器核心,同时也是ARM公司的名字,也是ARM技术的名字。原创 2024-03-04 14:31:40 · 735 阅读 · 0 评论 -
你有什么有单片机或开源硬件做的有意思的作品吗?
但是社区的玩法就不像基于BSP的二次开发那么工具齐全了,东拼西凑起来的东西要不断地试探,有时候人品不好,bug死活调不出来。大二时候好不容易将uboot在103的板子上跑通,加了nand flash之类的驱动,然后将uclinux 2.6的内核往死里裁剪,网络、模块、sysfs、proc啥都不要了,裁到400k,并且将data段丢到外部flash中,内核总算塞进了内部flash。醋鳖派等等等等的“开源硬件”相继登场,也是一阵的兴奋,还有那些安卓电视棒路由器之类的乱七八糟的东西,也入手了不少板子来吃灰。原创 2024-03-04 14:29:57 · 396 阅读 · 0 评论 -
C语言 vs Rust应该学习哪个?
我的观点是,如果你只想『补足自身的计算机底层工作原理认识』,今后还是用 Python 之类的高级语言做业务为主,那学C语言,确切来说,是读读C语言教程,也就够了。如果你的目的是为了开发CPython插件,我反而建议你学 Rust,因为CPython插件要求的是 C ABI + 绑定,这方面 Rust 做得不比C语言差,还有更优秀的工程实践,可以算一个更好的起点。如果你接到新业务,工具链就是只推荐用C语言,其它语言的工具链都不成熟(比如某些工业控制方案),那没得说,就该选成熟的方案,入乡随俗。原创 2024-02-29 14:49:07 · 1103 阅读 · 0 评论 -
为什么C语言没人喷?
16位就写int16,32位就写int32,搞什么short long,还规定这玩意是不定长的,一厢情愿地以为这样能兼容不同机器,可实际情况呢,宇宙第一ide到2022才升级64位,哪有那么好兼容?第二,赋值和自增自减有返回值,这点除了造成一大堆ub以及谭浩强考题,再加上c语言用0表示真假造成一堆逻辑bug,没有任何正面的收益。是没有,不是几乎没有。可以看到,c语言最大的喷点,放在其他语言里恐怕连根毛都算不上,排队被喷都得排到十年后,而且还不断有新特性插队。所以,c语言是喷点最少的语言,也是最强的语言。原创 2024-02-29 14:47:26 · 363 阅读 · 0 评论 -
请问半吊子 C++选手该如何深入学习 C++?
所谓的迁移,就是用其它语言如C、python、java等做过一些项目,那么可以将已经掌握的方法迁移到C++中,例如用C做面向过程的构建方法,在C++中也支持;或者将之前写过的数据结构与算法的代码进行可视化,可视化也可以将项目本身的难度加大,达到学习和练习的目的,作为入门级的小项目也是非常适合的。小项目可以从最小的开始,就是井字棋°(英文叫tic tac toe),也有些人是从俄罗斯方块开始的,俄罗斯方块的数据结构其实也只需要数组,也属于入门级。一个小项目一般需要花1~2周,一个中等项目一般需要花几个月。原创 2024-02-28 14:28:22 · 485 阅读 · 0 评论 -
为什么大家都觉得学C/C++编程难?
就从单纯的编程语言角度来说,C语言其实是相对比较简单的,因为C语言中的概念比较少,和C++、Java等语言比起来,没有了面向对象的那一大堆概念,比如继承、多态之类的,这一下子就简单了不少。这些应用场景中的开发调试工具都是零散的,比如GCC、Makefile、GNU的autotools全家桶,没有一体化的开发调试工具,对于新学者来说第一步搭建环境就会卡住。事实上,觉得C语言难的地方在于使用场景比较难,比如嵌入式开发、驱动开发、内核开发。为什么大家都觉得学C/C++编程难?为什么大家都觉得学C/C++编程难?原创 2024-02-28 14:25:25 · 522 阅读 · 0 评论 -
大型C++项目的开发流程是怎样的?
实际上c++项目大多都是自己造轮子,比如游戏开发一个项目可能有几十个辅助工具,数据转换 监控控制台 压测工具 打包工具 ,都是项目造的轮子。如果是想了解C++大项目的组成,倒是可以自己去尝试琢磨开源的大型项目,比如中型项目obs,巨型项目chromium,自己编译一遍,尝试去学习。如果是“团队协作开发”,那没办法,只有切身去体会,团队交流 任务划分 语法规范 开发流程细节 团队习惯,很多东西不是一两句说清楚,建议实习。“C++的api管理工具”,这是web开发独有的,http服务才会去搞接口测试管理工具。原创 2024-02-26 12:24:52 · 601 阅读 · 1 评论 -
Cortex-M可以跑Linux操作系统吗?
然而,有一些定制的、精简的Linux版本(例如uClinux)是可以在不带有MMU的系统上运行的,但还是需要注意资源的限制。总结起来,虽然理论上有可能在某些Cortex-M上运行精简的Linux,但在实际项目中,我们通常会使用RTOS或裸机编程,而在需要运行Linux的项目中,我们则更可能选择如Cortex-A系列这样的微处理器。在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Linux的资料从专业入门到高级教程」,点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!原创 2024-02-26 12:23:05 · 711 阅读 · 0 评论 -
假如C++进入Linux内核,那么需要做哪些改造?
RTTI和异常是最大的问题,这两个东西即便不一定需要完全禁掉,至少也需要实现细节完全确定,并且可以显式打开或关闭,而这一块刚好是C++ABI里最大的一个坑,而且每家的实现都不太一样。不过Linux内核本来就是依照gcc规范设计的,所以也不是啥大事,前面说的那些问题也不用等C++标准委员会谈判,只要g++支持就够了。照C++标准的谈判进度来看,“C++”想要进内核是肯定没戏了,就算进也只能是“g++”,捎带一个“clang"。点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!原创 2024-02-22 17:02:08 · 431 阅读 · 0 评论
分享