我们说的ModernC,一般指的是C11及以后的标准,从C11开始,ModernC引入了大量的实用的特性,主要是两大方面,学习的时候也可以从这两大方面学习:增强或者改善的语法特性;新增的或者改善的STL库。我们来看几个具体的案例:案例1:统一的类成员初始化语法与std::init...
hi,大家好,今天给大家分享并行程序设计中最重要的锁-RCU锁,RCU锁本质是用空间换时间,是对读写锁的一种优化加强,但不仅仅是这样简单,RCU体现出来的垃圾回收思想,也是值得我们学习和借鉴,各个语言C,C,Java,go等都有RCU锁实现,同时内核精巧的实现也是学习代码设计好素...
经常在知乎上可以看到这个问题,于是尝试着回答了一下,没想到国内C巨佬吴咏炜老师还给我点了个赞,让我相当激动,下面具体介绍下!结论可能大家看上面的图就知道了,没有加return0;编译器会自动添加一个。那怎么证明呢?可以查看相应的汇编代码,查看汇编代码推荐使用godbolt.org...
故事起因无意间用vim打开了一个10G的文件,改了一行内容,:w保存了一下,慢的我哟,耗费的时间够泡几杯茶了。这引起了我的好奇,vim打开和保存究竟做了啥?vim—编辑器之神vim号称编辑器之神,以极其强大的扩展性和功能闻名。vi/vim作为标准的编辑器存在于Linux的几乎每一...
编程多条路,条条通罗马后台大佬后台路线都是面对后台服务器业务,比如web后台服务器,视频后台服务器,搜索后台服务器,游戏后台服务器,直播后台服务器,社交IM后台服务器等等,大部分代码和业务逻辑相关,想成为大佬,必须精通专业领域业务知识。但同时也存在一些通用的技术要求, 比如熟悉编...
↓推荐关注↓各省高考分数线逐渐出炉,那么高考哪个省最难呢?不同省份的高考难度,一直是一个争议严重的问题。每个地方的人,都会觉得自己是比较难的那一个。因为其实不管在哪里,高考都是件不容易的事情。高考录取,本质上是一种“省内筛选”,是全国各个高校,以省(直辖市,自治区)为单位进行的竞...
↓推荐关注↓hi,大家好,由于移动互联网不断发展,导致网络流量徒增,推动着网络技术不断地发展,而CPU的运行频率基本停留在10年前的水平,为了迎接超高速网络技术的挑战,软件也需要大幅度创新,结合硬件技术的发展,DPDK(DataPlaneDevelopmentKit),一个以软件...
上帝视角我们平时在访问网站时,不使用IP地址,而是网站域名。但是抓包发现:交互报文是以 IP地址进行的。那么IP地址是从哪来的呢?这是因为 DNS 把网站域名自动转换为IP地址。报文交互抓包DNS出现TCP/IP是基于IP地址进行通信的,但是IP地址不太好记。于是出现了另一种方便...
我是一个Linux服务器上的进程,名叫小进。老是有人说我最多只能创建65535个TCP连接。我不信这个邪,今天我要亲自去实践一下。我走到操作系统老大的跟前,说:"老操,我要建立一个TCP连接!"老操不慌不忙,拿出一个表格递给我,"小进,先填表吧"我一看这个表,这不就是经典的soc...
有一定C开发经验的同学大多数踩过内存破坏的坑,有这么几种现象:比如某个变量整形,在程序中只可能初始化或者赋值为1或者2,但是在使用的时候却发现其为0或者其他的情况。对于其他类型,比如字符串等,可能出现了一种出乎意料的值!程序在堆上申请内存或者释放内存的时候,在内存充足的情况下,居...
↓推荐关注↓从Linux内核3.15开始,您可能一直在关注内核社区中扩展的BerkeleyPacketFilter(eBPF)的开发,或者您可能仍然将BerkeleyPacketFilter与VanJacobson在1992年所做的工作联系起来。您可能已经使用BPF和tcpdum...
↓推荐关注↓最近看见小伙伴在讨论这个问题,自己也很感兴趣,上网找到了陈硕大佬的这篇文章,分享给大家!以下是正文:我在《Linux多线程服务端编程:使用muduoC网络库》第1.9节“再论shared_ptr的线程安全”中写道:(shared_ptr)的引用计数本身是安全且无锁的,...
故事起因无意间用vim打开了一个10G的文件,改了一行内容,:w保存了一下,慢的我哟,耗费的时间够泡几杯茶了。这引起了我的好奇,vim打开和保存究竟做了啥?vim—编辑器之神vim号称编辑器之神,以极其强大的扩展性和功能闻名。vi/vim作为标准的编辑器存在于Linux的几乎每一...