摘要:
我们经常分心,然后又被催促着去工作。一旦开始了工作,我们又想着那些家里的日常家务事。当我们回家后,又愁这些日常的家务活耗费了太多时间。我们一直在工作的时候去考虑那些将要发生的事情。 这种不断地往前想着下一件事情的习惯,让我们陷入了一种担忧和压力的恶性循环。这也让我们无法集中精力在我们唯一可以掌控的:现在的事情上。 集中精力在当前的事情上是释放压力的关键。这可以让你全神贯注地关于手头的工作,而不是愁这辈子、遥远的其他事情。而且,通常来讲,现在的工作比将来的事要简单很多。一旦你沉入当前所做的事情,工作能够变得令人满意。然后,你会慢慢变得忙碌和投入,而不是内心的纠结。 这里列举了几个简单的建议... 阅读全文
摘要:
一个好的软件开发人员需要培养两种技能:技术技能和非技术技能。不幸的是一些开发者只注重技术的部分,以致养成一些陋习,下面是最常犯的5个非技术性错误:0. 缺乏自律 Jim Rohn曾经说过:自律是目标和成果之间的桥梁。我一直认为,不论是成为一名软件开发人员,亦或是想在生活的其它任何领域取得成功,自律都是最珍贵的技能之一。事实上,很少有人兼具智慧和自律。 Steve Pavlina强调了自律的5个基本原则“……容忍(Acceptance)、毅力(Willpower)、努力(Hard Work)、勤勉(Industry)以及坚持不懈(Persistence)。将每一个单词的首字母提出,构成一个缩.. 阅读全文
摘要:
在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它自己的页表,但是还有一个隐情。只要虚拟地址被使能,那么它就会作用于这台机器上运行的所有软件,包括内核本身。因此一部分虚拟地址必须保留给内核使用: 这并不意味着内核使用了那么多的物理内存,仅表示它可支配这么大的地址空间,可根据内核需要,将其映射到物理内存。内核空间在页表中拥有较高的特权级(ring 2 阅读全文
摘要:
C程序一般分为1.程序段:程序段为程序代码在内存中的映射.一个程序可以在内存中多有个副本.2.初始化过的数据:在程序运行值初已经对变量进行初始化的3.未初始化过的数据:在程序运行初未对变量进行初始化的数据4.堆(stack):存储局部,临时变量,在程序块开始时自动分配内存,结束时自动释放内存.存储函数的返回指针.5.栈(heap):存储动态内存分配,需要程序员手工分配,手工释放.附程序分布图:#include <stdio.h>#include <malloc.h>voidprint(char*,int);main(){char*s1="abcde" 阅读全文
摘要:
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://Example 1#include <iostream.h>void fn();static int n; //定义静态全局变量void main(){ n=20; cout<<n<<endl; fn();}void fn() 阅读全文