C/C++
文章平均质量分 91
乌拉881
这个作者很懒,什么都没留下…
展开
-
关于printf
printf sprintf fprintf sprintf_s sprintf_s_snprintf_snprintf_s _sprintf_s原创 2015-01-09 14:23:35 · 409 阅读 · 0 评论 -
C++中宽字符类型(wchar_t)的编码一定是Unicode?
问题的起因是和一个朋友讨论不同编码的转换问题,说到了wchar_t的类型,朋友的看法是,wchar_t的编码方式是utf-16,长度一定是16位的。我的看法不同,我认为wchar_t的长度和编码方式都是编译器和平台决定的,和语言没任何关系。后来这个朋友为了说服我,回家把C++ Primer给我搬出来了,还给我截了个图(因为我没这本书),在这本书第30页有个表格,清楚地写着wchar_t转载 2015-01-09 22:24:28 · 3422 阅读 · 0 评论 -
CodeLite配置
在Dev C++、CodeBlocks、CodeLite徘徊了很久,最终选定了CodeLite。绿色免安装版制作:(以CodeLite 6.1.1为例)1、完整安装CodeLite 6.1.1,所有路径保持默认(C:\Program Files\CodeLite、C:\MinGW-4.8.1、C:\UnitTest++-1.3)2、把CodeLite安装目录拷出备份原创 2015-01-08 14:06:31 · 6749 阅读 · 0 评论 -
__stdcall与__cdecl
函数调用的几个概念:_stdcall,_cdecl.... 1、_stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。 2、C调用约定(即用__cdecl关键字说明)按从右至左的顺序压参数入栈,由调用者把参数弹出栈转载 2015-01-30 11:20:26 · 330 阅读 · 0 评论 -
define宏定义中的#,##,@#及/符号
#include "stdio.h"#define Size(X) printf("%11s\t%2d\n",#X,sizeof(X));int main(int argc, char **argv){ Size(char); Size(short); Size(int); Size(long); Size(long long); Size(wchar_t); Size(fl转载 2015-01-11 12:30:37 · 435 阅读 · 0 评论 -
大端(Big Endian)与小端(Little Endian)详解
大端(Big Endian)与小端(Little Endian)简介///////////////////////////////////////////////////////1. 你从哪里来?端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头转载 2015-01-31 19:58:00 · 535 阅读 · 0 评论 -
结构体字节对齐和位域对齐——VC、gcc
(1)什么是字节对齐一个变量占用 n 个字节,则该变量的起始地址必须能够被 n 整除,即: 存放起始地 址 % n = 0,对于结构体而言, 这个 n 取其成员中的数据类型占空间的值最大的那个。(2)为什么要字节对齐内存空间是按照字节来划分的,从理论上说对内存空间的访问可以从任何地址开始,但是在实际上不同架构的 CPU 为了提高访问内存的速度,就规定了对于某些类型的数据只能转载 2015-01-13 10:09:15 · 535 阅读 · 0 评论