共享内存和线程局部存储是两个重要又不常用的东西,平时很少用,但有时候又离不了它们。本文介绍将两者的概念、原理和使用方法,把它们放在自己的工具箱里,以供不时之需。 ...
作为一个C程序员,每天都在和malloc/free/calloc/realloc系列函数打交道。也许和它们混得太熟了,反而忽略了它们的存在,甚至有了三五年的交情,仍然对它们的实现一无所知。相反,一些好奇心未泯的新手,对它们的实现有着浓厚的兴趣。当初正是一个新同事的问题,促使我...
STL通用算法: 1、非修正序列算法 不对其所作用的容器进行修改 2、修正序列算法 对其所作用的容器进行修改 3、排序算法 对容器的内容进行不同方式的排序 4、数值算法 对容器的内容进行数值计算...
用于测定哪部分程序运行慢,以作性能改善...
C++常见错误之:no matching function for call to ‘transform(__gnu_cxx::__normal_iterator, std::allocator > >, __gnu_cxx::__normal_iterator, std::allocator > >, __gnu_cxx::__normal_iterator, std::allocator > >, )’...
在实现之前网上浏览了一下,看到很多人都有自己的实现.主要的实现方式都是受了Introduction to Algorithm的影响.代码的结构和书中给出的伪码如出一辙,但是问题大都是1,没有深刻的理解FixUp和到底哪个节点需要. 2,忽略了Sentinel也就是哨兵节点的存在的意义.C/C++实现中的...
正如大家所知道的,全局变量是放在全局内存中的,但反过来却未必成立。用static修饰的局部变量就是放在放全局内存的,它的作用域是局部的,但生命期是全局的。在有的嵌入式平台中,堆实际上就是一个全局变量,它占用相当大的一块内存,在运行时,把这块内存进行二次分配...
下面的是学C++时要注意的。绝对经典。!! ...
事实上,C标准并没有规定多字节字符必须以UTF-8编码,也可以使用其它的多字节编码,在运行时根据环境变量确定当前系统的编码,所以在程序开头需要调用setlocale获取当前系统的编码设置,如果当前系统是UTF-8的,printf就把UCS编码转换成UTF-8编码的多字节字符串再write...
UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。...
对于静态语言而言,比如:C++,必须要显示地声明实现了某个接...
常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、GB1803...
Linus大神又在rant了!这次的吐槽对象是时下很火热的并行技术...
Linus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他...
如何避免这种竞态条件是 C++ 多线程编程面临的基本问题,可以...
这是一篇比较情绪化的blog,中心思想是“继承就像一条贼船,上...