c/c++
longxj04
这个作者很懒,什么都没留下…
展开
-
利用已有的 bind 构造 ScopeExit
原文:http://www.cppblog.com/Streamlet/archive/2012/05/20/175510.htmlbool GenFile(){ HANDLE hFile = CreateFile(_T("Test.txt"), GENERIC_WRITE, 0, NUL, CREATE_ALWAYS, 0, NULL); if转载 2013-05-24 14:36:06 · 918 阅读 · 0 评论 -
cache coherence & memory barrier
最近遇到cache coherence的问题,还没搞清楚具体的原因,这里收集我看过的有用的相关文章http://www.linuxjournal.com/article/8212转载 2015-01-13 14:34:58 · 644 阅读 · 0 评论 -
boost swap实现
先简单贴下boost swap实现的代码:namespace boost_swap_impl{ void swap_impl(T& left, T& right) { using namespace std; swap(left, right); }}namesapce boost{ void swap(T原创 2015-06-26 09:53:03 · 950 阅读 · 0 评论 -
Linux时间统计函数
Linux下用来获取时间,以及计算时间消耗的函数总结参考http://stackoverflow.com/questions/12392278/measure-time-in-linux-getrusage-vs-clock-gettime-vs-clock-vs-gettimeofdaytime() returns the wall-clock time from原创 2014-03-21 13:46:24 · 987 阅读 · 1 评论 -
右值引用背后的移动语意和完美传递
http://thbecker.net/articles/rvalue_references/section_01.html这篇文章将问题的原因和解决方法叙述的很详细,有空翻译一下原创 2014-03-14 10:12:31 · 838 阅读 · 0 评论 -
c,c++随便记记
1. malloc vs calloc参数不一样这是谁都可以看出来的,呵呵。重要的是calloc会将申请的内存初始化为0,malloc不会2.setjump & longjump可以通过setjump,然后调用longjump将栈帧退回到setjump。这对函数能够实现goto不能完成的跨函数跳跃。不过在使用在对函数的时候,要注意寄存器值的变化是否会变化到setjump时的原创 2012-07-30 04:41:30 · 1747 阅读 · 0 评论 -
linux 服务器性能测试
以前用过gperf测试服务器性能,这个工具需要用-pg命令去编译程序,然后让进程自然退出(一定要自然退出),才有性能数据。现在在intel的cpu上有一个商业的性能测试软件vtune,这个工具不需要用特殊的命令去编译程序,就可以直接测出程序的性能数据。这个相当上流,就是要收费。原创 2013-11-29 16:05:13 · 836 阅读 · 0 评论 -
cache line 优化
多线程编程时,为了避免锁,有时会采用数据多份copy的方式,但是如果把这些数据放在了同一个cache line里面,性能得不到提高,是因为cache line的false sharing问题,可以看下这篇文章http://software.intel.com/en-us/articles/avoiding-and-identifying-false-sharing-among-threads/原创 2013-08-27 13:33:05 · 1150 阅读 · 0 评论 -
boost学习笔记
时间类:1. timer类可以用来计时,progress_timer继承timer,在析构的时候会自动调用elapsed()函数,显示计时时间。2. progress_display可以显示一个cui下面的进度条,需要在终端下面显示进度的可以用这个类3. date类内部存储了一个32位的天数,因此可以作为基本类型用,对应的时长类为date_duration,对应的区间类为date_pe原创 2013-04-11 17:28:42 · 1345 阅读 · 2 评论 -
linux 头文件以及库的路径
原文:http://erex.sinaapp.com/?p=126原来在编译的时候可以指定执行时去哪里找需要的lib文件,长知识了本文详细介绍了linux 下gcc头文件指定方法,以及搜索路径顺序的问题。另外,还总结了,gcc动态链接的方法以及路径指定,同样也讨论了搜索路径的顺序问题。本文包含了很多的例子,具有很强的操作性,希望读者自己去走一遍。一.#inclu转载 2013-06-18 11:18:10 · 35243 阅读 · 0 评论 -
boost笔记
有用的boost函数 boost_autoboost_bindboost_functionboost_factoryboost_pp_catboost_pp_seq_for_eachboost_pp_tuple_elemboost_pp_seq_for_each_iboost_pp_seq_sizeboost_pp_ifboost_pp_seq_tailboost_pp_seq_hea原创 2015-10-09 23:29:53 · 608 阅读 · 0 评论