
C/C++
SomebodyLuo
这个作者很懒,什么都没留下…
-
转载 #if, #if defined, #ifdef, #ifndef, #elif, #else, #endif 使用
http://blog.chinaunix.net/uid-20801390-id-3123529.html有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编2015-04-12 10:58:469165
0
-
转载 char和unsigned char强制转换成int后的差异
转自:http://blog.csdn.net/lida2003/article/details/6973469最近有人提到char和unsigned char有什么区别,当然这个问题如果刚学计算机或者编程语言的人来说,非常简单。我也这么认为,无非就是有符号和无符号的差别嘛。这个问题让我想到了以前学习计算机常识的时候关于补码,原码,反码的差异。这里摘取参考文2015-08-20 10:32:21742
0
-
原创 自定义打印函数/log打印工具
最近因为在写JNI库,需要打印log来调试,自家的平板倒是有MTKLogger,但是手上的手机就没有这个东东,所以要自己写文件打印log,于是研究了下自定义log打印。示范如下:平台ubuntu-x64编译工具gcc#include #include #include #include #include #define LOGI(fmt, args...) m2015-11-11 11:18:54466
0
-
原创 __attribute__((packed))详解
1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如:在TC下:struct my{ char ch; int a;} sizeof(in2015-12-29 15:39:59703
0
-
原创 C++中引用与指针的区别(详细介绍)
指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一个内存地址,编译器不能通过该指针所指向对象的类型和大小,因此想要通过void*指针操作对象必须进行类型转化。 ★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址; 引用是某块内2016-01-05 15:30:26338
0
-
原创 __attribute__ ((__packed__)) 编译通不过
发表于: 2007-09-07 17:49:33编译别人程序的时候遇到struct {unsigned short limit;unsigned int base;} __attribute__ ((__packed__)) idtr;这里产生编译错误,具体提示为error C2065: “__packed__”: 未声明的标识符error C22015-12-29 17:30:485655
0
-
原创 const 成员变量初始化规则
const的成员变量只能在类的构造函数初始化,如下编译报错//const.h#includeclass CConst{public: CConst(); void print() { std::cout }private: const int cs;};//const.cpp#include"c2016-01-06 16:00:06945
0