c/c++软件开发的注意事项
第一部分软件编程的时间分配概况
高效率的程序员并不是敲键盘的速度比别人快,而是他有着良好的编程习惯,节省了别人浪费的时间。因此,要想提高自己的编程效率,根本在于怎么少浪费时间。只要能把别人浪费的时间节省下来,你的效率就可以快过别人,甚至数倍于别人。要想节省时间,当然首先需要明白编程中耗费时间的分配情况。
程序员软件开发的几个阶段:
1、分析设计,
分析设计的前提是充分理解需求说明文档,然后分析如何实现它们,并形成设计文档。分析设计的目的是明晰软件架构,软件算法和功能的逻辑,得出必要的设计文档,奠定后面编码的基础。合理的设计可以节省后面编码的时间,不合理甚至错误的设计将导致工作的重新开始,没有设计贸然开始编程会导致一些难以预见的逻辑错误。总之,较好的设计事半功倍。
2、程序编码
依照语法、设计文档编码。
3、程序测试
测试的目的是检测程序有没有问题,一旦发现问题,问题的定位越准,效率就越高。因此,程序中需要输出必要的提示信息。
4、软件调试
测试时发现程序有BUG,自然需要调试。显然,遇到的问题越少,调试的时间就越少。没有什么比一次性写好,不用调试更快的方法了。
时间虽然无法具体分配到各个阶段,但是第一和第二阶段的质量决定了后面两阶段的时间花费,质量越高,测试和调试时间花费越少。反过来,质量越差,测试和调试时间越长。
第二部分 c/c++中常见的错误
软件编程的过程中,程序员所犯的并不一定是重大错误,反而一些常见的错误屡见不鲜。这些错误严重影响到编程中测试和调试的时间。这一部分总结一下,时时提醒自己,告诫自己避免这些错误。
常见的错误有:
1、内存泄露
在c/c++中,内存管理器不会帮助你自动回收不再使用的内存,不管在什么情况下,采取谨慎的态度,杜绝内存泄露的出现,都是上策。尽管一些工具可以帮助我们检查内存泄露问题,但是编程时还是应该仔细一点,尽早排除这类错误,工具只是用作验证的手段。
2、内存越界访问
1)读越界,即读了不属于自己的数据,如果所读的内存地址是无效的,程度立刻就崩溃了。如果所读内存地址是有效的,虽然读的时候不会出问题,但由于读到的数据是随机的,它会产生不可预料的后果。
2)写越界,也叫缓冲区溢出
相关文档:
Boss说,要看OpenGL,看了快一个月,总算出了个像样的东西,用C写了个3D迷宫,
虽然只有350行
代码,不过边学边写,足足写了一周时间,还是小有成就感的,活活活!
&n ......
本文摘自I18nGuy
主页的一篇内容,原文地址:http://www.i18nguy.com/unicode/c-unicode.zh-CN.html
这份文档简要的说明了如何修改你的C/C++代码使之支持Unicode。在这里并不准备
解释太多相关的技术细节并且我得假定你已经基本熟悉Microsoft支持Unicode的方式。
它的主要目的是方便你查询相关的数据类型和函数,以及修 ......
在<TCHAR.h>头文件里,有这么一组操作文件的宏
#define _tfdopen _wfdopen
#define _tfsopen _wfsopen
#define _tfopen _wfope ......
这种需求应该就没C++程序调用C函数需求多了.目前的实现基本只有一类方法,即通过处理被调用的C++文件.
文
中给出的仍然是完整的,具体的,但又最基本最简单的实现,至于理论性的东西在网上很容易搜索的到.这里是针对调用C++的成员函数的实现.
aa.h
class AA {
int i;
public:
& ......
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee"
&nbs ......