c
文章平均质量分 77
行走江湖
方向:分布式计算、实时流计算、数据挖掘、后台开发、NoSQL、Hadoop/HBase、Unix/Linux、Java、C/C++、Python。
联系方式:http://t.qq.com/X-L2008
QQ:394102339
展开
-
写一个函数,完成内存之间的拷贝。[考虑问题是否全面](转)
<br />今天在网上找了个题目如题目,本来以为就跟字符串的复制一样,一个while就行了,看了答案才知道,内存处理没有那么简单,因为我们时刻要小心内存处理问题。 但是看了代码,想了半天才想同原理,真是惭愧啊!本来打算准备用个坐标轴来描述这个原理的,只是我个人比较懒的去画,就简单的说下,以明示自己下次不能犯这样的错误了。方法一:void* mymemcpy( void *dest, const void *src, size_t count )<br />{<br /> char* pdest =转载 2010-09-13 22:27:00 · 757 阅读 · 0 评论 -
什么是预编译
预编译 预编译又称为预处理,是做些代码文本的替换工作 处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等 就是为编译做的预备工作的阶段 主要处理#开始的预编译指令 预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。常见的预编译转载 2010-09-04 09:23:00 · 792 阅读 · 0 评论 -
C、C++中的日期和时间 time_t与struct tm转换
一.概念 Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。 Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译转载 2011-11-28 17:35:05 · 572 阅读 · 0 评论 -
语言编程需要注意的64位和32机器的区别 .
语言编程需要注意的64位和32机器的区别 一、数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较: 16位平台 char 1个字节8位 short 2个字节16位转载 2011-08-22 16:55:30 · 417 阅读 · 0 评论 -
求最大公约数的算法
<br />更相减损术<br />更相减损术,又称"等值算法"<br />关于约分问题,实质是如何求分子,分母最大公约数的问题。《九章算术》中介绍了这个方法,叫做”更相减损术”,数学家刘徽对此法进行了明确的注解和说明,是一个实用的数学方法。<br />例:今有九十一分之四十九,问约之得几何?<br />我们用(91,49)表示91和49的最大公约数.按刘徽所说,分别列出分子,分母。<br />“以少减多,更相减损,求其等也,以等数约之,等数约之,即除也,其所以相减者皆等数之重叠,故以等数约之。”<br />转载 2010-10-22 22:40:00 · 501 阅读 · 0 评论 -
strcpy,memcpy,memmove,memset,strncpy
strcpy,memcpy,memmove,memset,strncpy,一.函数分别介绍:1、memcpy:原型:extern void *memcpy(void *dest, const void *src, unsigned int count);用法:#include功能:由src所指内存区域复制count个字节到dest所指内存区域。说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。注意:和strcpy相比,memcpy不是遇到’/0’就结束,而是一定会拷贝完n个字节。2、m转载 2010-10-02 15:32:00 · 402 阅读 · 0 评论 -
malloc free原理
<br />在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了 <br />解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见<br />得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结<br />。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!<br /> 如果不扯得太远的话(比如说操作系统中虚拟内存和物理内存如转载 2010-10-02 14:23:00 · 1013 阅读 · 0 评论 -
字节那些事儿
<br />1、 前言 <br />作为一名 C/C++ 程序员,字节是我们天天都要与之打交道的一个东西。我们和它熟稔到几乎已经忘记了它的存在。可是,它自己是不甘寂寞的,或迟或早地,总会在某些时候探出头来张望,然后给你一个腿儿绊。其实,只要你真正了解了它的底细,你就会畅行无阻。在本文中,我们将首先简要了解一下字节的概念,然后着重了解一下字节序问题和字节对齐问题。 <br />注:笔者已经尽最大努力保证本文信息的正确性,但确实无法提供百分之百的担保。 <br />2、 什么是字节 <br />我们知道,二进制转载 2010-09-19 20:57:00 · 471 阅读 · 0 评论 -
volatile 关键字
<br /> <br />volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。<br /><br />使用该关键字的例子如下:<br /><br />int volatile nVint; <br /><br />当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数转载 2010-09-04 10:06:00 · 414 阅读 · 0 评论 -
signal函数说明
<br />c traps and pitfalls 对signal函数解释得非常详细。<br /><signal.h> 中<br />void ( *signal( int sig, void (* handler)( int ))) ( int );<br />int (*p)();<br />这是一个函数指针, p所指向的函数是一个不带任何参数, 并且返回值为int的一个函数.<br />int (*fun())();<br />这个式子与上面式子的区别在于用fun()代替了p,而fun()是一个函数转载 2010-09-14 15:20:00 · 569 阅读 · 0 评论 -
memmove和memcpy区别
1.memmove<br />函数原型:void *memmove(void *dest, const void *source, size_t count)<br />返回值说明:返回指向dest的void *指针<br />参数说明:dest,source分别为目标串和源串的首地址。count为要移动的字符的个数<br />函数说明:memmove用于从source拷贝count个字符到dest,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。<b原创 2010-09-10 16:15:00 · 972 阅读 · 0 评论 -
C 语言(C99) 对 64 位整数类型的支持
前几天跟同事闲聊 64 位操作系统时,有人问起 64 位平台上,C 语言的数据类型如何确定的问题。以及跨平台(跨 16 位、32 位和 64 位平台)程序如何选用合适的数据类型。 我查了一下资料,记录如下: char 通常被定义成 8 位宽。 int 通常被定义成 16 位或 32 位宽(或更高),它取决于平台。编译器将在这两者间选择最合适的字宽。 short 通常被定义成 16 位宽。转载 2012-09-24 22:49:49 · 893 阅读 · 0 评论