编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序. 编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错误 In file included from /usr/include/features.h:378, from /usr/include/assert.h:37, from ../../../include/tinyxml/tinystr.h:4…
今天发现一个系统innodb的spin rounds per wait为负,感觉很奇怪,原来是个bug: For example (output from PS but we have no patches here), ---------- SEMAPHORES ---------- OS WAIT ARRAY INFO: reservation OS WAIT ARRAY INFO: signal Mutex spin waits , rounds , OS waits RW, rounds…
读<深入理解计算机系统> 第二章 信息的表示与处理 32位与64位的典型值,单位字节 声明 32位机器 64位机器 char 1 1 short int int 4 4 long int 4 8(4?) long long int 8 8 char* 4 8 float 4 4 double 8 8 不过long int在VC中32与64位编译器均是4字节,貌似表格中数据也不算很典型啊,所以在vc下除了指针大小不同外,其他都没区别. 此外C99新增的long double在标准中只约束了其最小…
GCC下32位与64位机器类型变量所占字节数 在C语言中,编译器一般根据自身硬件针对类型变量来选择合适的字节大小,下面列举一下在GCC编译器下32位机器与64位机器各个类型变量所占字节数目: C语言 32位机器 64位机器 char 1 1 short int 2 2 int 4 4 long int 4 8 long long int 4 8 指针类型*p 4 8 float 4 4 double 8 8…