杂货专题

编程杂货笔记

这个就是顶置我自己方便查阅的,对其他人而言没什么用哈。 遍历目录下所有指定权限的文件 find ./ -perm 755 -maxdepth 1 maxdepth是最大层数,去掉的话默认递归到底 解压rpm包 rpm2cpio *.rpm | cpio -div python 格式化输出json数据 json.dumps(context,sort_keys=True,inden

杂货边角(6):Windows的数据类型和编译器固定数据类型对照

基本数据类型作为我们经常用到的东西其实经常容易被我们忽略其中的小文章,有些情况下如果没搞清楚其中的对应关系,则很容易导致我们的程序可移植性下降。 short(__int16),long (__int32),long long(__int64)是编译器层面提供的规定,分别是2、4、8字节。 而int 、float、double是C语言层面提供的规定,在32位程序上分别是4\4\8 Bytes,但

杂货边角(5):预编译指令#家族define/pragma

编译器提供的预处理指令主要是以#作为首字符的,如本文的两个主角#define和#pragma。合理的使用预处理指令可以使得编写的程序更便于修改(#define MAX_SUM 10000)、平台兼容性(#ifdef WIN32 ... #else...#endif)和调试(#define __DEBUG)。如下的例子 /*********根据操作系统不同设置不同的处理方式,以达到同样的功能效果*

杂货边角(4):C语言static, inline, volatile, const等关键字解析

1. static关键字解析 ANSI标准规定了C具有32个关键字,其中绝大多数并无特别之处,除了涉及到存储类型的几个关键字,而我们的static关键字便是属于存储类型声明的关键字一类: 1. auto: 声明该变量标识符是存放在栈上的(局部变量的默认修饰符),编译器自动完成,现今不需要手动声明,故而该修饰符几乎不用; 2. register: 声明寄存器变量,我们知道变量存

杂货边角(2):ATT和INTEL汇编语法

汇编存在多种形式,目前主流的有AT&T汇编和INTEL汇编,这两种形式极其容易混淆,其中AT&T汇编语法被Linux和GCC广泛支持,而INTEL则由Windows支持,故而对于长期涉及到两种操作系统编程的人而言,这两种汇编语法虽本质相同,但是语法形式的差异常常让人混淆。这里便介绍了两者的主要区别。 1. 赋值方向不同 INTEL汇编语法第一个操作数表示目的操作数,第二个才是源操作数,赋值方

杂货边角(1):计算机中有符号数和浮点数表示和运算

1. 整数的有符号表示方式 计算机中目前常用的整数类型分为 int_32和 int_64,以32位为例。计算机中都以补码形式存放有符号数。 正整数的补码表示和正整数的无符号类型一致,符号位为0; 负整数的补码表示则需要依次经过求反码,求补码,举例如下 对于-4而言,则符号位为1, 4的二进制表示为 000 0000 0000 0100求反码: