1、兼容32bits系统的数据类型使用情况
不要使用c语言中定义的类型,而要使用平台中的定义
typedef unsigned char uchar_t(c/c++中的定义)
typedef uint8_t uchar_t(uint8_t一般是stdint.h中定义)
typedef uint16_t ushort_t
假设自定义程序使用uchar_t,两种定义后者跨平台有保证
2、extern C中不能使用using namespace ,要写在外面,否则使用c++ linkage
3、c++中类型,尤其在拷贝之时,不能乱用,可能有大小端的问题
unsigned long long key;
unsigned short int a;
unsigned short int b;
memcpy((char*)&key,(char*)&a,sizeof(unsigned short));
memcpy(((char*)&key+sizeof(unsigned)),(char*)&b,sizeof(unsigned short));
对比
memcpy((char*)&key,(char*)&a,sizeof(unsigned));
memcpy(((char*)&key+sizeof(unsigned)),(char*)&b,sizeof(unsigned));
阅读(1321) | 评论(0) | 转发(0) |