2012-11-20 12:30
⁄ 工业·编程
⁄ 共 8460字
在计算机科学中,Callstack是指存放某个程序的正在运行的函数的信息的栈。Call stack由stack frames组成,每个stack frame对应于一个未完成运行的函数。
在当今流行的计算机体系架构中,大部分计算机的参数传递,局部变量的分配和释放都是通过操纵程序栈来实现的。栈用来传递函数参数,存储返回值信息,保存寄存器以供恢复调用前处理机状态。每次调用一个函数,都要为该次调用的函数实例分配栈空间。为单个函数分配的那部分栈空...
软件开发阅读全文
2012-11-17 18:20
⁄ 工业·编程
⁄ 共 4580字
时间过得还真快,投身软件行业已经有8年了,从接触计算机算起,已经超过13年。那年还是1993年,刚上高中一年级,就在第一个学期里,学校就开始教育计算机课了,使用的计算机是中华学习机、苹果机和IBM PC机。那时候开机特别麻烦,一定先开显示器,才能再开主机,否则会损坏机器,老师叮嘱了N遍,关机刚好要倒过来。在那年的课程里学会了BASIC语言,对着书里提到的数学问题一个一个地编写程序解决,记得最清...
经验, 软件之路, 软件开发阅读全文
2012-11-11 23:16
⁄ 工业·编程
⁄ 共 1749字
Code Review是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,并且已经成为软件工程中一个不可缺少的环节。通过在项目中实施Code Review将为我们带来多方面的好处,表现在提高代码质量,保证项目或产品的稳定性,开发经验的积累等。
目前大部分开发团队,在软件开发完毕并测试后,甚至项目上线后,才临时确定Code Review的人员,然后再安排时间进行Code Review。结果尽管发现一些结构或设计...
软件开发阅读全文
2012-11-08 21:13
⁄ 工业·编程
⁄ 共 5427字
本文针对目前C/S模式下编写的应用程序可维护性差的特点,提出了一套自动在线升级的解决方案,分析了在线升级的困难及实现原理,并给出了实现升级的部分代码,具有实际参考价值和现实意义。本文程序代码均在.Net Framework 1.1 和Windows2000下测试通过。
1 前言
长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性差,布置困难,...
批量升级, 软件开发阅读全文
2012-11-03 00:30
⁄ 工业·编程
⁄ 共 2678字
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。
》》》使用TortoiseSVN在源代码中嵌入作者或版本等信...
SVN, 操作指南, 程序员, 软件开发阅读全文
2012-10-26 08:41
⁄ 工业·编程
⁄ 共 4033字
规范的代码在开头往往都有作者、修改日期、版本号、原始位置等信息。 大多数开发者都习惯自己手工维护这些信息。现在告诉你一个好消息是,通过设置svn关键字属性:svn:keywords可以实现此目的,你再也不用手工维护了,svn会自动帮你维护。如何实现呢?有两个途径:
(一)用命令设置文件属性的方式
目前支持5个关键字:Date(修改时间)、Revision(版本)、Author(提交者)、HeadURL(库路径)、Id(前面...
SVN, 软件开发阅读全文
2012-10-18 06:50
⁄ 工业·编程
⁄ 共 2340字
这个题目的噱头太大,要真的写起来, 足够写一本书了。本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路。每个人的情况不一样,我下面的描述可能并不适合每一个看到这篇文章的人。
一、C/C++语言
如果你的基础很差, 建议不要一开始就学C++语言,从C开始学起,对程序有个初步的认识,循序渐进。C语言的书嘛,先买一本 300 页以内的,把书中的每一个例子都...
软件之路, 软件开发阅读全文
2012-10-09 20:41
⁄ 工业·编程
⁄ 共 5224字
一、Debug 和 Release 编译方式的本质区别
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,...
Debug, Release, 区别, 软件开发阅读全文
2012-10-09 20:22
⁄ 工业·编程
⁄ 共 3782字
Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。如果我们愿意,我们完全可以把Debug和Release的行为完全颠倒过来。当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为MY_ABC等。习惯上,我们仍然更愿意使用VC已经定义好的名称。
Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。...
Debug, Release, 区别, 软件开发阅读全文
2012-10-09 20:00
⁄ 工业·编程
⁄ 共 2756字
DEBUG和RELEASE 版本差异及调试相关问题: I. 内存分配问题 1. 变量未初始化。下面的程序在debug中运行的很好。 thing * search(thing * something) BOOL found; for(int i = 0; i...
Debug, Release, 软件开发阅读全文