前言:软件产业发展到今天,分工越来越细。程序员做为一个通用的称谓已经无法确切定义各种工作的特点和分类。正因为软件开发中各种职责区分不清,无论是刚刚写代码的新手还是具有多年经验的老手,一概被扣上程序员的通用名称,这也使得很多进入这个领域的软件开发人员无法制定自己未来的技术职业发展之路。 实际上,软件公司也
越多的人加入程序员这个行业,程序员已经不是以前人们向往的白领职业了,要想在这个行业有所发展,至少在中国,想有所成就,就应该有一技之长,对某一领域有所精通。 随着计算机行业的不断发展和分支学科的不断出现,很难像以前再出现一个对计算机
[1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手! [2]
&n
实在是太多。这一年中有大半的时间是在改别人的bug, )。那本书里讲了很多方法,我只挑对我自己帮助最大的: 调试内存破坏。 我一共碰到2我的方法是这样的:在可能出现问题的地方加上对堆的检查,用如下代码: 方法是这样的(我以前写的+msdn,比如两个程序APP1 调起 APP2, 的initinstance()停下来,然后用VC Attach 里去设断点了。
由于需要在没有安装VC的PC上进行调试,所以在没有IDE环境的情况下TRACE宏无法工作,而使用 MessageBox 并不是一个很好的方法。另一种简单的方法是向Console中输出文本。在你的应用中增加如下代码: #ifdef _DEBUG FILE* __fStdOut = NULL; HANDLE __hStdOut = NULL;#end
MSVC的调试技巧: Pseudoregisters - 翻译自CodeProject.com 让我们从为什么写这篇文章开始. 一天, 一个学生让我帮助他解决一个调试问题. 为此我看着他单步进入代码, 当我看到如下代码: GetLastError()"c:\\a_file_that_does_not_exist.txt"); 步入上述代码行的时候, @ERR数值修改成为2. 利用Tool
调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。 这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单open。 1 设置 为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从App
首先要说的是,使用 malloc 函数,请包含 stdlib.h(C++ 中可以是 cstdlib) ,而不是 malloc.h 。因为 malloc.h 从来没有在 C 或者 C++ 
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!  
内存管理 &nbs
静态与动态内存分配的两个主要区别是: 1、静态对象是有名字的变量,我们直接对其进行操作。而动态对象是没有名字的变量,我们通过指针间接地对它进行操作。 2、静态对象的分配与释放由编译器自动处理。程序员需要理解这一点,但不需要做任何事情。相反,动态对象的分配与释放,必须由程序员显示地管理,相对来说比较容易出错,它通过new和delete两个表达式来完成。 对象的动态分
C# 的 Delegate TypeDelegate 是一种函数指针,但与普通的函数指针相比,区别主要有三:1) 一个 delegate object 一次可以搭载多个方法(methods)[译注1],而不是一次一个。当我们唤起一个搭载了多个方法(methods)的 delegate,所有方法以其“被搭载到 delegate object 的顺序”被依次唤起——稍候我们就来看看如何这样做。2) 一
从SDK中可以找到关于delegate的定义和使用方法。 个人理解,delegate是声明委托类的关键字,声明委托和声明一个类差不多, 不过,可以不用为该委托类定义什么方法或属性。 如:delegate void SomeDelegate(); 然后为该委托类创建一个实例,创建实例需要一个构造参数,该参数指定所要委托的例程的名称。 如:OneInstance = new
试比较在C#中Delegate类的使用============================================================== Delegate类简介------------------------ 命名空间:System程序集:mscorlib(在 mscorlib.dll 中) &n
delegate委托:三个概念:C# 中的委托类似于 C 或 C++ 中的函数指针。委托是面向对象、类型安全的,并且是安全的。委托和接口的类似之处是:它们都允许分隔规范和实现。一个原则:被托管函数的返回和参数必须和声明的托管相同; 基于这三个概念来看这个例子,这是微软的教程上讲的一个例子: 示例阐释声明、实例化和使用委托。BookDB 类封装一个书店数据库,它维护一个书籍数据库。它公开 Pro
interface用来声明接口1.只提供一些方法规约,不提供方法主体 如 public interface IPerson { void getName();//不包含方法主体 }2.方法不能用public abstract等修饰,无字段变量,无构造函数。3.方法可包含参数 如 public inter
归纳Java中的Interface(接口) &nb
多重繼承 OOP 的重點在於繼承,封裝,多型等概念上,其中以繼承最受爭議,尤其是多重繼承與單一繼承,到目前為止,至少在實作上許多語言都選擇了單一繼承,原因不外乎多重繼承會將整個物件架構複雜化,為了保留多重繼承的特性, Interface(介面) 的概念就成為最好的選擇,標準的OO 繼承課題就是父母與子女之間的關係,子女繼承了父與母的的特性,此為多重繼承,但
Interface与多重继承的观念 不管是Java的Interface或是C++的多重继承,在物件导向的理论里,都算是蛮新颖的概念。所以这里我们谈的是以程序语言的角度看看Java Interface的所有意义与功能,C++的多重继承是否能全部诠释?或是相反地以Java的来诠释C++的。 首先让我们来复习一下什么是C++的多重继承。 「继承」通常在物
C#中的接口1.都是“虚的”不能被实例化,这也是接口中为什么不能包含字段、成员变量的原因 2.正因为接口是虚的,所以接口内的索引、属性、时间等只能有声明,而不能在接口内实现,具体如何实现是派生接口或者派生类的事.3.都具有模板的性质,如果一个接口或者类从某一个接口继承,它将自动具有被集成者的特征(包括索引,属性,函数,实践等).4.接口支持多重继承,而C#中,类之支持单一继承,接
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号