
C/C++
文章平均质量分 52
Rockics
这个作者很懒,什么都没留下…
展开
-
C语言:关注EOF
<br />很多人都写过这样的代码:<br />#include <stdio.h>main(){int c; c = getchar();while(c != EOF){putchar(c);c = getchar();}}<br />而且理解这个代码并不是一件困难的事情,相反,太简单了.但是,如果深究,就会发现一个有意思的事情,如果不考虑重定向,也就是说,我们是从stdin 输入的,那么,我们应该输入什么信息,被认为是EOF呢?细心的读者可能注意到了,我们在声原创 2011-03-19 02:43:00 · 1035 阅读 · 0 评论 -
【Deep C (and C++)】深入理解C/C++(3)
译自Deep C (and C++) by Olve Maudal and Jon Jagger,本身半桶水不到,如果哪位网友发现有错,留言指出吧:) 第二位候选者表现不错,那么,相比大多数程序员,他还有什么潜力没有被挖掘呢?可以从以下几个角度去考察:有关平台的问题—32位与64位的编程经验;内存对齐;CPU以及内存优化;C语言的精髓; 接下来,主要分享一下以下翻译 2011-12-02 21:14:34 · 5753 阅读 · 8 评论 -
【陷阱】你能用几种方法交换两个变量的值?
<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->找工作的时候,笔试,面试阶段,我们经常看到这么一道题:不用临时变量,如何交换两个变量的值?很多同学不假思索,写下如下代码:#include int swap1(int *a, int *b){ *a = *a+*b; *b原创 2011-11-30 17:17:49 · 3942 阅读 · 5 评论 -
【Deep C (and C++)】深入理解C/C++(2)
译自Deep C (and C++) by Olve Maudal and Jon Jagger,本身半桶水不到,如果哪位网友发现有错,留言指出吧:) 好,接着深入理解C/C++之旅。我在翻译第一篇的时候,自己是学到不不少东西,因此打算将这整个ppt翻译完毕。 请看下面的代码片段:#include void foo(void){ int a;翻译 2011-11-28 10:17:09 · 26771 阅读 · 19 评论 -
【Deep C (and C++)】深入理解C/C++(1)
译自Deep C (and C++) by Olve Maudal and Jon Jagger,本身半桶水不到,如果哪位网友发现有错,留言指出吧:) 编程是困难的,正确的使用C/C++编程尤其困难。确实,不管是C还是C++,很难看到那种良好定义并且编写规范的代码。为什么专业的程序员写出这样的代码?因为绝大部分程序员都没有深刻的理解他们所使用的语言。他们对语言的把握,有时他们知道某些东西未翻译 2011-11-26 17:38:48 · 8469 阅读 · 7 评论 -
C++引用与指针的比较
转帖自:http://www.cnblogs.com/kingln/archive/2008/03/29/1129118.html引用是C++中的概念,初学者容易把引用和指针混淆一起。转载 2011-04-26 11:25:00 · 958 阅读 · 0 评论 -
请使用ulld格式打印uint64_t的数据
这两行代码 输出的g_randeven严重不一样 :fprintf(stderr,"odd count : %ld/t even count : %ld/n",g_randodd,g_randeven);cout 使用ld打印会出错,因为g_randodd还有g_randeven都是64位的。大端表示法等等相关知识回忆一下。原创 2011-06-10 14:34:00 · 12994 阅读 · 0 评论 -
关于curl,关于url分析
leader需要我从海量的url中选取url最多的1000个站点,每个站点再随机抽取100个url,分析url的质量,这里的质量,就是指是否死链,是否全部广告之类的 是否死链只要使用浏览器打开看看就OK了 然而 1000乘以100 ,一个一个去做的话,显然太傻,于是我使用了curl写个程序去获取http的头部信息,统计返回来的的状态码,程序再跑,可是异常的慢,现在终于明白为什么爬虫不可能使原创 2011-06-09 12:34:00 · 4222 阅读 · 0 评论 -
larbin跑起来了,下一步就是阅读代码了
03年的代码就是不好编译通过,即使现在larbin跑起来了,还是出现很多的警告 首先在下载larbin源代码。我下载的版本是larbin2.6.3 第一步: 注释adns目录下的internal.h的569到571行 第二步:到iostream的目录下复制一份到同一目录,文件名iostream.h,也就是说,iostream在什么目录,iostream.h就在什么目录原创 2011-06-03 22:37:00 · 3364 阅读 · 0 评论 -
makefile规则学习一
makefile文件主要规定了make工具的依赖关系 makefile文件中可以定义变量varname,并且使用$(varname)进行引用,有点类似于C语言中的宏定义 make工具的自动推导过程,也就是所谓的make的“隐晦规则”,亦即,如果目标文件时name.o,那么name.c文件就会被默认推导为name.o文件的依赖文件 清空目标文件规则,每个makefile文件都原创 2011-06-03 15:27:00 · 2918 阅读 · 0 评论 -
fopen创建文件失败
<br />当以 w 模式使用fopen的时候,当前不存在要打开的文件,此时断言流出错失败,于是去怀疑fopen是否真的可以创建文件,有点搞笑。<br /> <br />看到一句话,fopen此时尝试创建文件,不保证成功。<br /> <br />我在使用的时候,创建文件失败,其实是因为进程所在组最当前目录没有相应权限,<br /> <br />简单的设置一下权限以后,可以创建文件了。<br /> <br />特此记录。原创 2011-06-02 17:11:00 · 12484 阅读 · 3 评论 -
C++ 注意检查迭代器是否有效
今天遇到一个问题,在写一个文件的时候,不时的遇到 段错误 这个问题,自己第一反应时使用fprintf写文件,文件大小有限制,但是没有找到相关的说法。还是仔细检查了自己的代码,发现没有对之前的一个迭代器进行有效性判断就使用了,据此打印了一下log信息,发现果真是这地方出了问题。以后写代码,不要想当然的认为迭代器管用,一定要做检查,记住了。原创 2011-06-02 15:42:00 · 5478 阅读 · 1 评论 -
gdb使用记录
1.记得在编译的时候使用 -g 选项 2.l 列出源代码 3.break 行数 设置断点 4.r 执行 5.n 下一步 单步执行 6.c 继续 遇到一个问题,就是gdb a.out 不知道怎么给可执行文件添加参数,这个只要使用 set args就可以了,也是gdb的命令 p 打印变量的值 bt 查看栈信息原创 2011-06-03 18:14:00 · 2826 阅读 · 0 评论 -
C语言内存管理
C语言的学习难点在于内存管理和指针,我打算先攻克内存管理,这些文章,主要是从网上找资料看,加上自己的一些理解,贴出来,一是自己方便,二是希望可以得到大家的指教。原创 2011-04-02 23:06:00 · 2057 阅读 · 0 评论 -
代码调试记录
1.linux下c编程有时会遇到 :1.c:4: 错误:程序中有游离的 ‘/357’解决办法1.程序中输入的字符: , ; " ' / 等符号,有可能是使用的中文输入发输入的2.程序中有使用全角拼音的现象原创 2011-03-30 23:04:00 · 1040 阅读 · 0 评论 -
【全文完】【Deep C (and C++)】深入理解C/C++(4)
译自Deep C (and C++) by Olve Maudal and Jon Jagger,本身半桶水不到,如果哪位网友发现有错,留言指出吧:) 总结一下第三讲,我们可以知道,相对于第一位候选者,第二位候选者在以下几个方面有更深的认识:1、 C与C++的联系;2、 多态方面的技术;3、 如何正确的初始化一个对象;4、 Rule of three;5、 操翻译 2011-12-03 18:04:38 · 5155 阅读 · 14 评论