- 博客(50)
- 收藏
- 关注
转载 asm pause 指令
http://blog.csdn.net/hintonic/article/details/7674024http://siyobik.info.gf/main/reference/instruction/PAUSEPAUSESpin Loop HintOpcodesHexMnemonicE
2018-01-06 22:50:01 2605
原创 new barrier with good performance
A processor suffers a severe performance penalty when exiting the loop because it detects a possible memory order violation. The PAUSE instruction provides a hint to the processor that the code sequence is a spin-wait loop. The processor uses this hint to
2017-12-31 03:32:47 793
转载 how to block a thread and resume it
A condition variable is appropriate here- actually, a pair of condition variables, because the consumer also needs to block if the queue is empty:pthread_cond_t qu_empty_cond = PTHREAD_COND_INITIALIZE
2017-12-31 01:45:40 357
转载 TLS的四种模式 Global Dynamic,Local Dynamic,Initial Exec和Local Exec
TLS的4种模式:Global Dynamic, Local Dynamic, Initial Exec和Local Exec。
2017-12-29 16:26:05 5455
原创 error: cannot allocate memory in static TLS block
If shared library declease a single TLS global variable of size 1 (one) byte, and this TLS variable is accessed by the binary linking against it the shared library doesnt get loaded because there is an error creating the static TLS block.
2017-12-29 16:08:46 4560 1
转载 GCC 中零长数组与变长数组
前两天看程序,发现在某个函数中有下面这段程序:int n; //define a variable nint array[n]; //define an array with length n在我所学的C语言知识中,这种数组的定义在编译时就应该有问题的,因为定义数组时,数组的长度必须要是一个大于0的整型字面值或定义为 const 的常量
2014-02-10 18:13:51 778 1
转载 C语言之struct大小、首地址与内存对齐
被问到如下问题:给定一个结构体中某个变量地址,可否得到结构体变量的地址?答案是可以,但是对不同的场合有不同的结果;这与微处理器平台、编译器的处理不可分割。首先,对于处理器,大尾端、小尾端的因素必须考虑;其次:一、 ANSI C标准中并没有规定,相邻声明的变量在内存中一定要相邻。为了程序的高效性,内存对齐问题由编译器自行灵活处理,这样导致相邻的变量之间可能会有一些
2012-03-02 10:59:55 729
转载 数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
32位环境涉及"ILP32"数据模型,是因为C数据类型为32位的int、long、指针。而64位环境使用不同的数据模型,此时的long和指针已为64位,故称作"LP64"数据模型。现今所有64位的类Unix平台均使用LP64数据模型,而64位Windows使用LLP64数
2011-08-30 11:01:47 6302
转载 未选择的路 ●罗伯特·弗罗斯特
黄色的树林里分出两条路, 可惜我不能同时去涉足, 我在那路口久久伫立, 我向着一条路极目望去, 直到它消失在丛林深处。 但我选了另外一条路, 它荒草萋萋,十分幽寂, 显得更诱人,更美丽; 虽然在这条小路上, 很少留下旅人的足迹。 那天清晨落叶满地, 两条路都未经脚印污染。 啊,留下一条路等改日再见! 但我知道
2009-03-15 16:38:00 853
原创 好书推荐:从零到百亿--facebook创业故事 卡罗-白朗
这是一本值得一读的书, 特别当你仍然怀着创业和成功的梦想心不死时......通过这本书,这是我第一次听说译言网,这是一个很好的开始..... 简介:《Inside Facebook》这本书是原作者卡罗?白朗(Karel Baloun)作为Facebook的第一位高级软件开发人员之一,在Facebook初创阶段的亲身经历。与公司老总或研究创业的学者不同,作者以一个工程师平实的语言、从
2009-01-29 17:05:00 2005
原创 好书推荐:一个经济杀手的自白 约翰-珀金斯
好久没有这样一口气把一本书的看完了,看完了有一种酣畅淋漓的感觉。这是一本对国际政治经济局势和内幕感兴趣的朋友的必读书,中国也应该对新时期的美帝国主义的肆无忌惮的侵略提高警惕了。 本书的简介:作者巧妙地运用了惊悚小说的写作手法,以内幕知情人的身份,讲述了一个个真实的、具有影响力的、有启迪性的故事。书中披露了“美国援助”背后的真实企图、美国“经济杀手”的真实面目。这本书是约翰•珀金斯以小说
2009-01-29 16:42:00 1122
原创 html 控件收集
1. textarea#include int fibonacci(int n);int main (int argc, char **argv){ int fib; int n; for (n = 0; n <= 42; n++) { fib = fibonacci(n); printf("fibonnaci(%d) = %d/
2008-06-03 00:31:00 484
转载 代码测试、调试与优化的小结
代码写完以后往往要做测试(或验证)、调试,可能还要优化。 关于测试(或验证),通常对应着两个英文单词verification和validation,在资料[1]中有关于这个的定义和一些深入的讨论,在资料[2]中,很多人给出了自己的看法。但是我想正如资料[2]提到的: “The differences between verification and validation are un
2008-06-03 00:23:00 1214
转载 怎样判别一个object file或binary是不是debug版?
如何判断可执行文件是否携带了调试信息? Q: 某些时候需要知道编译可执行文件时是否携带了调试信息(比如是否指定了-g编译 选项)。检查可执行文件中是否包含".stab" elf section,".stab" section用于 保存相关调试信息。下面这个脚本演示如何判断可执行文件是否携带调试信息if [ $# -le 0 ] then echo "Usage: $1 f
2008-05-16 01:26:00 1158
转载 一道题关于linux分页
int a = 1000;int main ()...{ int *b = &a - (0x1000/4); printf("*b = %d ",*b); printf("b = %p ",b); printf("&a = %p ",&a); printf("a = %d ",a);}i386 linux下用gcc编译 结果是什么? resul
2007-12-24 16:35:00 789
转载 为什么程序会出现Bus Error?
最近在论坛上看到一个程序员在询问Bus Error的问题。他有一个非常简单的测试程序,将一个short数组中第二个成员变量的地址附给一个int型的指针,接着给该指针赋值,大致代码如下: short array[10];int * p = (int *) &array[1];*p = 1;运行的平台是Solaris for SPARC,使用的编译器是GCC,程序执行到指针赋值的时
2007-11-30 20:42:00 26480 2
转载 在共享库中设置断点
From: Debugging a Program With dbx在共享库中设置断点dbx 对使用连接运行时链接程序的编程接口的代码提供全面的调试支持:调用 dlopen()、dlclose() 及其关联函数的代码。运行时链接程序在程序执行期间会绑定和解开共享库。利用对 dlopen() 和 dlclose() 的调试支持可步入函数,或在动态共享库的函数中以在程序启动时在链接的库中设置断点的
2007-04-12 19:12:00 1044
原创 LINUX 下多进程调试方法
#include stdio.h> #include unistd.h>int main() ...{ if(fork() == 0) ...{ printf("Child Process say hello to you! "); sleep(5); exit(0);
2007-04-12 14:57:00 3805 1
转载 vi常用命令的使用
vi编辑器是AIX操作系统维护模式下可用的唯一编辑器,也是所有UNIX系统的标准编辑器。它具有命令行编辑功能,可作为某些程序的缺省编辑器。vi编辑器是全屏编辑器,有两种操作方式:命令方式(状态)和文本输入方式(状态)。其命令方式的格式为单字母命令,调用命令时只需输入一个字母即可完成简单的编辑功能。 vi的调用格式在异地登录的用户必须首先设置终端类型$ TERM=vt100,或将
2007-02-07 18:08:00 1304
原创 什么是RSS?RSS及其发展历程
什么是RSS?RSS及其发展历程RSS是2004年最热门的互联网词汇之一,不过,相对于博客(BLOG)来说,RSS的知名度相应会低很多,而且至今还没有一个非常贴切的中文词汇,也许以后无需中文名,大家都习惯于直接叫RSS了。RSS之所以同BLOG一样会被认为是热门词汇的一个原因,个人推测,应该是许多分析人士认识到RSS将要对互联网内容的浏览方法所产生的巨大影响。 什么是RSS呢?
2007-01-29 18:20:00 920
转载 静态对象如何初始化?
介绍当编译一个C++程序时,计算机的内存被分成了4个区域,一个包括程序的代码,一个包括所有的全局变量,一个是堆栈,还有一个是堆(heap),我们称堆是自由的内存区域,我们可以通过new和delete把对象放在这个区域。你可以在任何地方分配和释放自由存储区。但是要注意因为分配在堆中的对象没有作用域的限制,因此一旦new了它,必须delete它,否则程序将崩溃,这便是内存泄漏。(C#已经通过内存托管解
2007-01-24 17:14:00 3557
转载 透过汇编另眼看世界之多继承下的虚函数函数调用
在我的前一篇文章"透过汇编另眼看世界之函数调用"中,我们通过汇编了解了虚函数调用的全部过程。在本文中我将分析多继承的情况下虚函数调用的情况。首先还是写一些简单的代码作为本文分析的例子代码: //the abstract base classclass IBase ...{public: virtual void func1() = 0; virtual void func2
2007-01-24 13:27:00 666
转载 透过汇编另眼看世界之函数调用
在我的另外一篇文章中 ,我提到了要通过汇编语言来分析虚函数调用的真相。我们现在就开始踏上这次艰辛却非常有意思的旅程。其他闲话少说,直接进入主题。本文中使用的C++代码:#include "stdafx.h"#include iostream>class CBase {public: virtual void callMe();};class CDerived: public CBas
2007-01-24 11:45:00 981
转载 为什么会出现LINK2005"符号已定义"的链接错误?
许多Visual C++的使用者都碰到过LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found这样的链接错误,而且通常是在使用第三方库时遇到的。对于这个问题,有的朋友可能不知其然,而有的朋友可能知其然却不知其所以然,那么本文就试图为大家彻底解开关于它的种种疑惑。大家都知道,从C/C++源程序
2007-01-19 10:38:00 1142
转载 什么是weak symbol?
weak symbol 我们用nm看动态库时,会发现有些符号类型是"V",手册里解释如下:"V" The symbol is a weak object. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no err
2007-01-19 09:28:00 6290 1
转载 怎样得到虚函数表?
每个含有虚函数的类有一张虚函数表(vtbl),表中每一项指向一个虚函数的地址,实现上是一个函数指针的数组。 虚函数表既有继承性又有多态性。每个派生类的vtbl继承了它各个基类的vtbl,如果基类vtbl中包含某一项,则其派生类的vtbl中也将包含同样的一项,但是两项的值可能不同。如果派生类重载(override)了该项对应的虚函数,则派生类vtbl的该项指向重载后的虚函数,没有重载的话,则沿用
2007-01-17 18:58:00 1690 1
原创 The relationship of inline and virtual
test1:base.h:class base_c...{public: virtual ~base_c() ...{} virtual int getkind() ...{return 0;}};class derive: public base_c...{public: virtual int getkind() ...{return 1;}}; deri
2007-01-17 10:57:00 941 2
转载 把一件事情做到底——林格谈创业的智慧与勇气(2)
把一件事情做到底——林格谈创业的智慧与勇气(2) 文/林格 真正的智慧和勇气,往往不一定体现在大是大非面前,而是体现在做一件哪怕很小、但正确的事情,看你是否可以把它做到底。福布斯就说过:做正确的事情,把事情做到底,立即做!我认定的创业的智慧之二就是:把一件事情做到底!这一个信条几乎涵盖了创业所需要的所有非智力因素,比如意志力,韧性,抗挫折,不轻言放弃……
2007-01-03 22:04:00 965
转载 非凡的想象力是财富之源——林格谈创业的智慧与勇气(1)
非凡的想象力是财富之源 ——林格谈创业的智慧与勇气(1) 一位博友问道: 林格先生,从您写的书中可以感受出你思维的新颖、知识的广泛,为什么象您这样有智慧的人却只愿意去做公司的高级顾问和写书呢?为什么您不做一个用人之人去开家公司,而只愿意做一个可用之人呢?我是一个18岁的青少年,我的志向是成为一名非常之成功的商人。我想问的是,如果我
2007-01-03 21:56:00 1295
转载 正直的人就一定吃亏吗?———林格谈创业的智慧与勇气(3)
正直的人就一定吃亏吗? 我们以往对正直的理解有可能是错误的。真正的创业,一定不是100米的短跑或者冲刺,而是10000米的常跑,甚至是万里长征,因此,并非依靠投机式的爆发力,而是依靠持续、耐久的人格力量。 在创业的道路上,正直应当是另外一种核心竞争力。著名管理学家彼得·杜拉克说,优秀的管理者最重要的特征是正直感,正直感不是一种
2007-01-03 21:55:00 877
转载 倾听阿里巴巴
今天听了阿里巴巴公司阿里学院总监张璞的讲座。张99年进阿里巴巴,是阿里的第38号员工,曾任人力资源总监。(人看起来很年轻,好像二十出头的样子,其实已经奔四了)。讲座是本科同学刘组织的,讲座者也多次提到了他的名字。相信他在研创的一年时间一定学到了不少东西。讲座摘录如下:阿里巴巴,用了8年时间(98-06),成为全球最大的电子商务网站(web:不太相信,能大过ebay?)马云是杭师
2007-01-03 21:54:00 1870
转载 创业者
哈佛商学院的杰弗里·蒂蒙斯(Jeffry A. Timmons)以研究商业领袖的人格特征而著称。他有过这样一段话:“即使创业者天生就具备了特定的才智、创造力和充沛的精力,这些品质本身也只不过是未被塑形的泥巴和未经涂抹的画布。创业者是通过多年积累相关的技术、技能、经历和关系网后才被塑造成功的,这当中包含着许多自我发展历程。”
2007-01-03 21:53:00 680
转载 什么是自由度
自由度(degree of freedom, df)在数学中能够自由取值的变量个数,如有3个变量x、y、z,但x+y+z=18,因此其自由度等于2。在统计学中,自由度指的是计算某一统计量时,取值不受限制的变量个数。通常df=n-k。其中n为样本含量,k为被限制的条件数或变量个数,或计算某一统计量时用到其它独立统计量的个数。自由度通常用于抽样分布中。
2006-12-29 09:52:00 4804
转载 NP Problem
摘自太傻BBS:《第一个 NP-complete 问题》 NP 是 Non-deterministic Polynomial 的缩写,NP 问题通俗来说是其解的正确性能够被很容易检查的问题,这里"很容易检查"指的是存在一个多项式检查算法。 例如,著名的推销员旅行问题(Travel Saleman Problem or TSP):假设一个推销员需要从香港出发,经过广州,
2006-12-22 15:10:00 3355
转载 数据信道容量
01、数据信道容量-(奈奎斯公式/香农公式)一、奈奎斯特公式: 用于理想低通信道 C = 2B×log2 (M) 式中:C = 数据传输率,单位bit/s (bps) B = 带宽,单位Hz M = 信号编码级数 1、奈奎斯特公式指出了:码元传输的速率是受限的,不能任意提高,否则在接收端就无法正确判定码元是1还是0(因为有码元之间的相互干
2006-12-21 19:20:00 2464
原创 Linux Porgramming Unleashed--reading digest
chapter 241. nm [options] fileThe nm command lists all of the symbols encoded in an object or binary file.Table 24.1 nm OPTIONSOption Description-C|-demangle
2006-12-20 23:38:00 824
原创 why gcc can link objs with multiple same symbols after ar?
1. why gcc can link objs with multiple same symbols after ar? what's the difference comparing with linking before ar?2. If multiple same symbols are allowable in linking, then what's the rule to res
2006-12-18 15:05:00 925 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人