自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 关于Too many fetch-failures错误

问题现场:[root@localhost local_input]# hadoop jar MyWordCount.jar MyWordCount input output411/12/07 16:03:29 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMappi

2011-12-07 16:25:55 2667

转载 不定参数的应用(转载)

不定参数的应用不定参数当年做为C/C++语言一个特长被很多人推崇,但是实际上这种技术并没有应用很多。除了格式化输出之外,我实在没看到多少应用。主要原因是这种技术比较麻烦,副作用也比较多,而一般情况下重载函数也足以替换它。尽管如此,既然大家对它比较感兴趣,我就简单总结一下它的使用和需要注意的常见问题。原理刚学C语言的时候,一般人都会首先接触printf函数。通过这个函数,你可以打印不定个

2011-08-02 14:41:51 363

转载 大小端,以及位域问题。

大小端 端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big Endi

2011-06-17 01:17:00 1281

原创 关于指针和数组对申请内存malloc和作为参数传递的一些问题

试题1.void GetMemory( char *p ){ p = (char *) malloc( 100 );}void Test( void ) { char *str = NULL; GetMemory( str );  strcpy( str, "hello world" ); printf( str );}  试题2:

2011-06-16 20:32:00 1049

原创 assert 断言函数/宏

        编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言。    前置条件断言:代码执行之前必须具备的特性

2011-06-16 20:19:00 475

原创 strcpy函数用法详细解释和其相关问题

 char *strcpy(char *dest,char *src); 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。src字符串尾的字符串结束标识符/0也会被复制过去,复制完成后s1中的内容会被覆盖掉 strlen函数的意思是测试字符串的字符长度,不含字符串结束标志的。

2011-06-16 20:12:00 805

原创 指针以及malloc

.#include #include void getmemory(char *p) { p=(char *) malloc(100); strcpy(p,"hello world"); } int main( ) { char *str=NULL; getm

2011-06-15 17:37:00 450

原创 对地址的一些操作。

要对绝对地址0X100000赋值,我们可以用 (unsigned int *)0x100000 = 1234; 那么要是想让程序跳转到绝对地址0X10000去执行,应该怎么做?  *((void (*) () ) 0x10000 ) (); 首先要将0x100000强制转换成函数指针,即: (void (*) () ) 0x100000 然后再调

2011-06-15 16:49:00 550

原创 Linux进程间通信方式

1.信号(signal) 2.管道(pipe)及命名管道(fifo) 3.消息队列(message).   消息队列是消息的连接表。消息队列客服信号承载信息少、管道只能承载无格式字节流及缓冲区太小受限等缺点 4.共享主存(shared memory).    共享主存通常与其他通信机制(如信号量)结合使用,以解决进程通信中的同步与互斥问题。 5.信号量(semaph

2011-06-15 16:29:00 370

原创 进程同步机制的优缺点比较,......同步机制包括 “原子操作 信号量机制 自旋锁 管程,会合,分布式系统”等

原子操纵是指不会被线程调度机制打断的操纵。 信号量(Semaphore)及PV操作优:PV操作能够实现对临界区的管理要求;实现简单;允许使用它的代码休眠,持有锁的时间可相对较长。缺:一个信号量只能置一次初值,以后只能对之进行p操作或v操作。由此也可以看到,信号量机制必须有公共内存,不能用于分布式操作系统,这是它最大的弱点。信号量机制功能强大,但使用时对信号量的操作分散,而且难以控制,读写和

2011-06-15 15:57:00 2253

原创 进程和线程的差别

线程是指进程内的一个执行单元,也是进程内的可调度实体.线程与进程的区别:(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大

2011-06-15 15:31:00 312

转载 LINUX内核中min和max宏的学习

add linux kernel min, max define:include/linux/kernel.h/* * min()/max() macros that also do * strict type-checking.. See the * "unnecessary" pointer comparison. */#define min(x,y) /(__

2011-06-15 15:19:00 615

原创 程序占用的内存分配

1.栈区(stack) ---- 由编译器自动分配释放,存放函数的参数值,局部变量的值。其操作方式类似于数据结构中的栈。 2.堆区(heap) ---- 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两码事。 3.全局区(静态区)(static) ----  全局变量和静态变量的存数放在一块的,初始化的全局变量和静态变量在一块区域,未初始化

2011-06-15 14:18:00 290

原创 (*p)++和*(p++)和*p++的区别

(*p)++,是先取指针P的值,然后对其值进行++运算,*(p++),是先对指针P进行++运算,然后再取取值,*p++,同*(p++),因为按优先级来看,*和++是同级,他们都是从右到左的顺序进行运算,所以先++,再*。

2011-06-14 16:49:00 582

转载 const T 与T const(const T vs.T const的翻译 Dan Saks)

在我的上一个专栏里,我讨论了为什么C++在数据存入ROM所使用的规则比C语言所使用的规则稍微复杂原因的其中一个。关于这个话题现在我有更多的内容想说,但是在那之前,我很乐意先回答Phil Baurer先生通过E-mail向我咨询的一个关于小松(日本一个地方)小型采矿系统的问题:“我们正在对使用带有typedef的const的问题饶有兴趣。我希望您评论下这种用法。我正在思考是不是我们碰巧遇到了一些我们

2011-06-14 15:59:00 389

原创 预处理器标识

指令             用途         #           空指令,无任何效果         #include    包含一个源代码文件         #define     定义宏         #undef      取消已定义的宏         #if         如果给定条件为真,则编译下面代码         #ifdef      如果宏已经定义,则编译下面

2011-06-14 15:52:00 285

空空如也

空空如也

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

TA关注的人

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