Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1359060
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: C/C++

2016-04-06 13:36:21

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));
阅读(1251) | 评论(0) | 转发(0) |
0

上一篇:c++进阶学习(二)

下一篇:linux命令深入

给主人留下些什么吧!~~