![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
大华工控上位机
这个作者很懒,什么都没留下…
展开
-
libhv:更简单、更强大的跨平台网络库
event模块实现了事件循环,支持IO、timer、idle等功能,不同的平台有不同的实现,例如Linux使用epoll,Windows使用IOCP、Mac使用kqueue、Solaris使用evport;· 精妙小巧跨平台,基于configure/cmake自动生成的平台宏和编译器宏实现了跨平台的hatomic原子操作、hthread线程、hmutex线程同步等;· 无论是开发基于HTTP的服务端还是客户端,使用libhv可以减少大量的代码编写,使您的开发过程更加简单高效。原创 2023-04-06 15:26:59 · 971 阅读 · 0 评论 -
Linux:一个受欢迎的职业选择
与其他操作系统不同的是,Linux 已经定义好了文件应该放在哪个位置,避免了用户需要处理杀毒、清理垃圾、激活、优化等烦人的操作。此外,Linux 的内核可以重新编译,使其安全性更高,用户不必担心后门程序的问题。此外,现今 Linux 运维也成为了一个受欢迎的职业。Linux 是一款功能强大的操作系统,它能够满足低功耗和性能要求,并提供许多现成的第三方库,方便使用。总的来说,Linux 是一款功能强大、安全可靠、可定制化的操作系统,对于需要满足低功耗和性能要求的用户来说,它是一个不错的选择。原创 2023-03-31 17:34:10 · 262 阅读 · 0 评论 -
C与Python:装备配置系统的比较
C的语法非常简单,但新手使用C写东西很难。C就像乐高玩具一样,你可以根据需要随意拼接每个零件,但同时也需要具备整体思维和局部思维的能力。如果你不了解数据结构,那么即使拼接了乐高零件,也无法得到想要的结果;相比之下,Python更像一个装备配置系统,你只需要在固定的格子中搭配合适的装备,就能满足各种需求。C适合用于系统级编程、嵌入式开发等领域,它的性能非常高,但同时也需要程序员具备一定的计算机系统知识。而Python则更适合用于数据处理、科学计算等领域,它的语法简单易学,但相对于C而言,性能可能稍低一些。原创 2023-03-30 16:27:35 · 112 阅读 · 0 评论 -
C++编程中常见的类和对象概念和技术
刚好,我这里有C语言资料包,私信我领取。原创 2023-03-28 17:02:44 · 85 阅读 · 0 评论 -
数组和链表:内存访问的性能差异和应用场景
如果使用线性搜索算法,相对于数组,链表的查找速度会慢很多。尽管从理论上讲,链表和数组的查找时间复杂度都是O(n),但在实际场景中,链表的效率远不如数组。在访问数组时,由于局部性原理,系统会将之后的连续内存预读入cache,因此后续对数组元素的访问都可以在L1 cache中完成。但链表不具有这种特性,每次访问节点都需要进行内存访问,而不是在cache中访问。然而,数组也有缺点,比如不能动态扩容,一次扩容需要移动大量的元素等等。因此,在选择使用数组或链表时,应该根据具体场景进行选择。原创 2023-03-24 11:27:47 · 125 阅读 · 0 评论 -
了解C语言的设计漏洞:为什么不允许函数重载?
在Unix体系中,进程被当作函数来调用,启动子进程后需要使用进程的返回值来获取子进程是否运行正确的状态。在汇编层面,函数返回的值是EAX寄存器的值,如果不赋值,EAX寄存器就是一个随机数。C语言的设计存在一些不太严谨的地方,有些是早期编译器遗留的问题,因此应该按照现代C语言规范来编写代码,以提高可读性和可维护性。C语言是调用者清栈,因此即使不写参数也可以在main函数中声明为void类型,程序不会出错,只是无法获取命令行参数。C语言不允许函数重载,同名函数只是参数不同,C语言视为重复的函数符号。原创 2023-03-23 14:23:49 · 128 阅读 · 0 评论 -
动态分配与静态分配:如何协调资源利用
在公司里,需要不同数量的人力资源,如果按照最大人数雇佣,很多时候很多人都是闲着摸鱼,造成公司资源的浪费,所以外包或者非正式雇佣(派遣)就成为了一种解决方案,以补充人力资源。如果你已经知道节点数是100个,那么使用数组可能更好,因为它不需要额外的指针来维护节点关系,而且可以直接访问任意元素。因此,动态分配内存就成为了一个解决方案,它可以在需要时分配内存,在不需要时释放内存。需要注意的是,动态分配只是在更大的一个层面上的静态分配当中的局部分配,而不是对整个资源进行增减。刚好,我这里有C语言资料包,私信我领取。原创 2023-03-22 14:05:00 · 147 阅读 · 0 评论 -
PLC梯形图语言编程的原则如下:
在位逻辑指令中,除非有特殊说明,操作数的有效区域为:I、Q、M、SM、T、C、V、S、L,且数据类型为BOOL。触点和线圈指令分为标准指令、立即指令、取反指令、正(负)跳变指令。用户程序的运算是基于PLC输入/输出映象寄存器中的内容进行的,逻辑运算结果可以立即被后续程序使用。在梯形图中,继电器、接点、线圈都不是物理实体,而是存储在PLC寄存器中的位。梯形图由多个梯级组成,每个线圈可构成一个梯级,每个梯级代表一个逻辑方程,每个梯级有多条支路。PLC的内部继电器只能存放逻辑控制的中间状态,不能用于控制。原创 2023-03-21 16:18:57 · 304 阅读 · 0 评论 -
为什么使用标准库函数更优
如果你认为自己的实现性能更好,那么可能是因为你的场景比较特殊,并且针对这个特殊场景有更优化的实现。但是,如果场景并不特殊,那么你更应该做的是贡献你的代码给标准库,用你的优秀实现去替换标准库里的不太好的实现,然后再在具体业务中使用标准库。标准库提供的函数是经过多次优化和测试的,能够满足各种场景下的需求,并且在未来也有可能会进行更新和优化。使用标准库的函数能够让你更加清晰和准确地表达你的意图,并且让你的代码包含更多高层次的语义信息,从而拥有更多优化的可能性。刚好,我这里有C语言资料包,私信我领取。原创 2023-03-21 13:59:06 · 74 阅读 · 0 评论 -
PLC近年来一直在不断扩展功能
当时的PLC需要设计人员对电路板和元器件进行参数设计和选型,这些设计人员都是电路发烧级别,因此当时的PLC的可靠性和稳定性极高,但操作的人性化却比较差,这是由于操作系统的发展背景所限制的。现在的PLC的电路板简单多了,除了芯片和简单的外围电路,其他元器件几乎都没有了。如果你还记得那个时代的产品,例如西家的S5、罗家的PLC5和施耐德的莫迪康984,它们的稳定性极高,甚至可以在没有任何保护的情况下运行数十年,而现代的产品却经常需要加入G3防腐等保护要求,这表明现代的PLC在稳定性方面存在着问题。原创 2023-03-20 15:59:35 · 113 阅读 · 0 评论 -
PLC是一种工业自动化控制器
作为用户,我们最希望看到的是SDC(软件定义控制器),即编程组态的工具统一标准化。通过一个编程工具,可以对各家的PLC进行编程组态,无论是控制还是监控,这将极大地方便用户使用。未来,PLC将成为一台小型计算机,可以完成各种任务,这将进一步扩展PLC的功能性。PLC的功能十分强大,包括工具软件的统一、控制功能的统一、支持WEB的诊断、集成多个网口等等。总之,PLC在工业自动化中的作用十分重要,它的功能不断完善和拓展,为自动化行业的发展提供了无限的可能。我这里有plc的资料需要的私我。原创 2023-03-20 15:58:17 · 481 阅读 · 0 评论 -
速成C语言:25天内掌握基础知识的难度
C语言是一种面向过程的编程语言,学习难度相对较高,尤其是在指针方面的理解和应用上。与其他编程语言相比,C语言的使用和发展较为局限,主要应用于低级程序设计中。相比之下,Java等编程语言在学习难度和发展上更具优势。学习C语言需要一定的时间和精力,25天的时间对于速成C语言来说难度很大。尽管在短时间内能够学会一些基本知识和写一些简单的小例子,但要完全掌握C语言需要更长时间的学习和实践。除了C语言,还有许多其他编程语言值得学习,例如Java等,它们难度不大且发展迅速,值得尝试。原创 2023-03-20 13:47:32 · 230 阅读 · 0 评论 -
Linux内核驱动,成为计算机行业就业的关键?
尤其是对于那些想要转行计算机行业的人来说,学习Linux内核驱动的知识可能会是一条比较顺畅的道路。虽然学习基本的C语言可能不是难事,但是对于操作系统的知识,很多人可能会一知半解。而学习Linux内核驱动可以帮助你更深入地理解操作系统的工作原理,提升自己的技能水平,成为一位更加专业的技术人员。对于想在计算机行业找工作的人来说,掌握Linux内核驱动的相关知识可能是一个不错的选择。虽然这种技能可能需要自学和较高的悟性和自律,但是一旦掌握,你会成为一位货真价实的软件工程师。原创 2023-03-17 14:45:31 · 104 阅读 · 0 评论 -
说一个通俗易懂的PLC工程师岗位要求
你到了一家新的单位,人家接了一套新的设备,在了解设备工艺流程之后,你就能决定用什么电气元件,至少95%以上电气原件不论你用过没用过都有把握拍板使用,剩下5%,3%你可以先买来做实验,这次不能用,下个项目可以用上,2%容错,选型错误,原件不适用等等。1、你是否有对设备、工艺、程序通过多年的积累形成自己正确、独到的解决方案,比如说行业内大佬们吃饭会提到:宋工说了这个是得这么去处理云云。3、在自动化领域以内,PLC电气自动化相关工作以外,你是否有能力指导其他人工作/或提出比其他人更专业的意见。原创 2023-03-16 15:34:54 · 481 阅读 · 0 评论 -
探究C语言:强大之处与不足
因此,C程序员需要对底层原理和细节有较深入的了解,并且能够处理指针、内存管理等复杂问题。· C语言是一种通用的语言,适用于开发各种应用程序,包括操作系统、数据库、编译器、图形界面等。· C语言具备结构化编程的特点,可以用模块化的方式编写程序,从而提高代码的可读性和可维护性。· 在数据封装方面,C语言没有提供类和对象等面向对象编程(OOP)的特性,数据安全性较低。· C语言作为许多其他编程语言的基础,拥有丰富的数据类型和强大的运算符。· C语言能够直接操作内存和寄存器,因此执行效率和灵活性都非常高。原创 2023-03-16 13:53:31 · 124 阅读 · 0 评论 -
qt 框架的开发效率如何?
不要以为qt的信号槽就是简单的回调函数哦,它可是支持多种连接方式的,既能同步调用,又能异步调用,对多线程程序的开发极为友好。例如,新的qt多线程程序就建议使用一个worker对象移入工作线程,然后通过信号槽的方式执行工作任务,非常优雅。qt还"多此一举"地自己实现了类似于stl的容器类,因为stl的实现在不同平台上是有细微差别的,有时写跨平台程序还会不小心碰到这种坑,用qt的容器类就避免这种情况了。总体感觉就是qt让c++变得不那么像c++了,而是糅合了某种现代语言的感觉,优雅、易用、不易出错。原创 2023-03-15 17:21:48 · 153 阅读 · 0 评论 -
C 和 C++:您需要知道的不同点
要完全理解 C 和 C++ 的区别,首先需要了解什么是面向对象编程。面向对象编程(OOP)使用对象的概念,一个对象是类或程序代码模板的实例,而类可以由数据和代码过程组成。C 语言是一种纯过程式编程语言,不支持面向对象,而 C++ 则是一种混合编程语言,既支持过程式编程,又支持面向对象编程。除此之外,C++ 还支持多态、封装和继承等面向对象编程的特性,而 C 不支持这些特性。除了面向对象编程方面的不同,C 和 C++ 在其他方面也有一些不同点。比如,C++ 可以运行大部分 C 代码,但反之则不行。C++ 使用原创 2023-03-15 12:05:07 · 77 阅读 · 0 评论 -
为什么先规划再动手编写代码很重要?
很多初学者经常忽略前两步(定义程序目标和设计程序),直接跳到第三步(编写代码)。程序中隐藏的错误也越来越难找,那些跳过前两个步骤的人往往浪费更多的时间,因为他们写出的程序难看、缺乏条理、让人难以理解。要编写的程序越大越复杂,事先定义和设计程序环节的工作量就越大。例如,在写代码时可能会发现之前的设计不切实际,或者想到一个更好的解决方案,或者在程序运行后想要改变原来的设计思路。养成先规划再动手编写代码的好习惯,用纸和笔记录下程序的目标和设计框架,这样在编写代码的过程中会更加得心应手、条理清晰。原创 2023-03-14 14:59:16 · 64 阅读 · 0 评论 -
如何在单片机、嵌入式开发中做好软件设计与性能优化?
在单片机、嵌入式开发中,很多时候软硬件设计都由一个人负责,公司也不特别注重开发过程的规范性,只看重软件是否能正常运行。这种情况下,很容易导致开发出来的程序虽然能跑,但代码不规范、不易读,且性能问题严重。在这种开发模式下,如果没有人专门负责代码规范性和易读性,开发人员就需要自己主动管理好代码。关注CPU、内存等硬件资源的占用情况,合理使用这些资源,避免过度占用导致程序崩溃或性能下降。使用专业的性能分析工具来对代码进行评估和优化,避免出现代码冗余、死循环等问题;制定一些自我管理的机制,如代码审查、代码重构等。原创 2023-03-13 16:32:31 · 186 阅读 · 0 评论