自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 规范化的C++编程方法备忘录 本地化相关[写中文版软件必看](1)

1.字符和字符串-编码:为了将人类定义的文字在计算机中能完整地表示,人们使用逻辑上连续存放的整数表示语句。受历史的影响(早期的计算机是没有考虑国际化的。那是为科学家和高校设计的,字符串存在的目的之一是用尽可能少的字符表达特定环境下的语义。知道意思即可,所以不乏大量的英文缩写、符号与数字的混合体),计算机被指定用0~127表示语言(仅英文、数字和标点符号,剩下的做编辑、控制符),成为ASCII。

2010-04-30 09:25:00 943

原创 规范化的C++编程方法备忘录 常用符号表示方法

-如果系统对某个操作有自己的一套规则,就尽量使用系统提供的库文件中声明过的符号,不要自己去实现它例1:不要在系统要求使用 GET_X_LPARAM(a) 的地方使用 (int)(short)((a) & 0xffff) 取代(如GetMessagePos的返回值)。例2:不要自己实现多字节的crt库,如strinc等。尽可能使用标准的东西。-注意下面的内容是自定义的,但他们之所以能

2010-04-30 08:26:00 1210

原创 规范化的C++编程方法备忘录 对象管理

    先说一些题外话...  其实并没有“Win64编程”这一说法。只有64位Windows、64位平台、(应用程序的)64位版本。Win32PlatformSDK自从7.0版发布以来就做了修订。支持32/64位一体化代码。微软保证:没有特殊说明的API在32位和64位上都有相同的形式(仅针对库文件而言)。64位的API也叫Win32API(的64位版本)。没有Win64API一说。  当然不是

2010-04-22 17:36:00 658

原创 规范化的C++编程方法备忘录 Windows下线程编程(Rev1.1)

    编译原理、计算机原理的基本内容,我不想重复了。放上些内容,主要是关于理论与实际间的差距。 - 线程间共享变量应该在声明时加入volatile关键字    如果不加会怎样?看以下代码:intptr_t a = 1; // Reset by another thread....while(a){// Looping until a equal to zero.    Sleep(0);}优化后

2010-04-22 17:33:00 521

原创 规范化的C++编程方法备忘录 c++ for windows(2)

DllMain(说明:这不是一个API,但用对它很重要)  详见http://msdn.microsoft.com/en-us/library/ms682583.aspx,(你在自己的MSDN光盘上也可找到。后同,略)需要强调的是Remarks中的"The entry-point function should perform only simple initialization or termi

2010-04-22 17:29:00 621 1

原创 规范化的C++编程方法备忘录 c++ for windows

上面几贴的内容会很有用。后面说的假定你已经知道这些东西了。这是一个复杂的系统,需要大量的人做不同的工作... C++和Windows并无本质的联系,但个人认为在操作系统中,Windows的MSDN是C++/C中非常规范的典型例子,不像其他操作系统、非MS公司的windows软件那样,代码编写的随意性很大。本文旨在通过描述C++环境下的Windows API调用及MS官方的建议来表明规范的第

2010-04-22 17:26:00 735 2

原创 规范化的C++编程方法备忘录 程序流程(2)

 - 函数 - 前面提过的:成员函数(方法)是不参与决定结构本身的大小的,但函数指针成员则参与。这很好理解:因为函数指针就是一个指针变量。 - 如果有结构体或类指针/引用作为参数,未经说明就不要将无同步保护的多线程共享结构地址传入该函数。 - 如果你想自己定义并编写好用的函数:1.明确函数的行为、目的、参数及返回值、使用方法及调用时必须满足的前提条件、禁忌、是否要公开到用户库文件中、是否申请了堆、

2010-04-22 17:23:00 487

原创 规范化的C++编程方法备忘录 内存管理

很多编程书都谈过这个问题。只关心API的可见罗云斌的《Win32汇编语言程序设计》;关心质量的典型,可见林瑞的《高质量程序设计指南C/C++》;如果用的C++,就应该知道各种经典的对象管理技术,以及用模板包装常规对象如句柄的方法(例如C++ for COM中的ATL),还可以用类似垃圾收集器的原理管理对象...。    这里主要说明的是对Win32编程有直接关系的内容,这些内容有部分都可以

2010-04-22 09:31:00 529

原创 规范化的C++编程方法备忘录 杂项约定

1.引子    对于程序编制人员来说,怎样安排他们的代码成了他们除设计具体算法外的最大的任务之一。和学生时代开发的试验品相比,所写代码还必须在执行正确的前提下(但这是个绝对的前提),保证健壮、可靠、系统收敛的,还必须尽可能的快(但不能以降低稳定为代价)。你还得保证代码看起来“漂亮”,以便让其他人看着舒服——请记住:你写的代码不是给你看的,是给别人,尤其是给开发测试人员——看的。这里的“其他人”还包

2010-04-22 09:15:00 461

原创 规范化的C++编程方法备忘录 程序流程

 - goto语句的争议    从前很多人都喜欢用goto,结果程序结构常常变得难以理解,现在却相反——坚决反对goto,甚至有人要取消它。这就叫“goto恐惧症”...    用goto即有好处又有坏处,看具体情况了。    如:for(y = 0; y {    for(x = 0; x     {        if(clr == 0x000000)            goto J_Bl

2010-04-21 14:13:00 733

原创 规范化的C++编程方法备忘录 C/C++算数运算:

    已经知道的,不说了...大家都知道的,可以问问,查查资料。这里又放些附加建议:1.基本算数运算:  既然计算机里没有真正的整数,那么计算机里也没有真正的算数运算。    取值范围:  设a和b是两个占一样位宽的无符号整数,这种整数可取到最大值MAX:    如果f1为一元运算,f2为二元运算,则先将计算机中的整数和运算扩展到 {0}UZ+ 域有      f1(a) = fz1(az) %

2010-04-21 13:56:00 677

原创 规范化的C++编程方法备忘录 结构体和类

  -复合式数据类型的大小:很久前看过有计算机考题如下:struct tcs{    char a, b, c;};则sizeof(tcs) == ______编程时发现实际情况与答案不同:如果你写了一个这样的结构体,编译运行,调试时应该会显示结果为4。这是因为有对齐到WORD边界的规定(答案就是4)。现在在结构体上下加几句,结果如下:#pragma pack(push)#pragma pack(

2010-04-21 13:35:00 1015

原创 规范化的C++编程方法备忘录 整数声明

形式上把整数分成3大类:-通用型整数:int/long/short/char,及他们的unsigned类型特点:标准字节的宽度 | 用于大小有限,又不强调最大值,或者最大值总保证满足实际需要的场合。| 平台无关。不同的编译器,同样类型的整数,不同编译器厂商规定的实际字节的宽度可能不同,具体由编译器厂商决定。| 不要假定某个类型的具体位宽(除了char/unsigned char),不要假定

2010-04-14 14:51:00 726

原创 规范化的C++编程方法备忘录 说明

编程最有趣的地方在于:以前越怕麻烦,以后就越麻烦。 我身边的“大部分”同行,写代码的随意性很大。直到出现“bug”才去查,结果发现潜在的问题到处都是...只好发现一点改一点。我想这就是国产软件不好的根本原因之一吧:懒得做好就做不好。不要忘了一个系统的有效性等于各部分有效性的乘积。到处都有点小问题的系统是没法稳定的。很多人不喜欢规范。国内很多人都是因为不愿受制于规范才去

2010-04-14 05:44:00 576

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除