以良好的方式编写Cclass假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯。①Header(头文件)中的防卫式声明complex.h:#ifndef__COMPLEX__#define__COMPLEX__classcomplex{}#endif防...
C八股文(一)说一下static关键字的作用参考回答:1全局静态变量在全局变量前加上关键字static,全局变量就定义成一个全局静态变量。静态存储区,在整个程序运行期间一直存在。初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化);作用域...
1.线程池原理我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是...
在《手写线程池-C语言版》中,已经实现了C语言版的线程池,如果我们也学过C的话,可以将其改为C版本,这样代码不管是从使用还是从感观上都会更简洁一些。对这些代码做从C到C的迁移主要用到了C三大特性中的封装,因此难度不大,对应C初学者来说有助于提高编码水平和对面向对象的理解,对于熟练...
关于Json这种数据格式,在前面已经做了详细的介绍 Json的格式和用途,在项目开发过程中我们需要针对不同的语言使用不同的库对Json格式的数据进行解析,下面给大家介绍一个基于C语言的Json库–cJson。cJSON是一个超轻巧,携带方便,单文件,简单的可以作为ANSI-C标准...
今天跟大家分享4个好友的技术号,我相信跟他们交流会有不一样的收获,不妨给个关注,一起学习,一起进阶~公众号:嵌入式Linux原TCL、中兴高级工程师、现在在腾讯从事音频相关嵌入式底层研究。高中就开始在学校创建电子创新科技协会,大学校招实习进入TCL,在嵌入式领域工作有十余年。喜欢...
很多事不深入以为自己懂了,但真正用到项目上,才发现了问题。曾以为自己写C语言已经轻车熟路了,特别是对软件文件的工程管理上,因为心里对自己的代码编写风格还是有自信的。(毕竟刚毕业时老大对我最初的训练就是编码格式的规范化处理)曾以为,一个.c文件对应一个.h文件,.c文件只包含它自身...
对,你没看错,本文就是教你怎么写出让同事无法维护的代码。一、程序命名容易输入的变量名 。比如:Fred,asdf单字母的变量名 。比如:a,b,c,x,y,z(如果不够用,可以考虑a1,a2,a3,a4,….)有创意地拼写错误 。比如:SetPintleOpening,SetPi...
“操作系统”作为所有软件的基础,是计算机王国的掌舵者。我们常用“灵魂、大脑、内核、基石”等词来形容它,足以见得它对计算机而言有多么重要。 事实也确实如此,作为每个程序员必须好好修炼的“基本功”,它能直接解决我们在工作中的很多疑难杂症,比如做高性能服务端编程时,经常会用到内存、进程...
大家好,我是唐唐!本文关于C内存管理学习笔记自侯捷,上次笔记见 C内存管理(一)。1.各个标准分配器实现1.1VC6.0malloc在第一节中提到,malloc的内存块布局如上,其中cookie(记录区块大小)小,浪费率高,因为cookie始终占8字节。cookie是我们不需...
什么是网络编程?用一句话概括,就是对网络协议的落地。 落地,意味着对实战的要求更高。所以,一些朋友更喜欢用类似Netty这种封装好的框架——快速,高效。确实,跟开发细节相比,我们常常更看重开发效率。 可日常的项目里,我们也不得不面对极端的网络性能考验。没人喜欢堵车,但应对大量请求...
▲点击可查看大图一年一度的秋招即将拉开序幕,程序员“金九银十”跳槽季也接踵而至。大部分互联网公司都会进行基础知识的考察,基础知识的重要性不言而喻。计算机基础知识对程序员来说为什么那么重要?程序员的技艺也分内功和招式。招式,就是各种编程技巧、各种框架,而内功就是这些核心基础知识。问...