
程序员
csshuke
这个作者很懒,什么都没留下…
展开
-
StackOverflow程序员推荐:每个程序员都应读的30本书
1. 《代码大全》史蒂夫·迈克康奈尔2. 《程序员修炼之道》3. 《计算机程序的构造和解释》4. 《C程序设计语言》5. 《算法导论》6. 《重构:改善既有代码的设计》7. 《设计模式》8. 《人月神话》9. 《计算机程序设计艺术》(系列)10. 《编译原理》(龙书)11. 《深入浅转载 2015-09-28 16:08:18 · 714 阅读 · 0 评论 -
编写自文档化代码
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/YhL_Leo/article/details/50545047 本系列文章由 @yhl_leo 出品,转载请注明出处。文章链接: http://blog.youkuaiyun.com/yhl_leo/article/details/50545047 严肃是写作必备的两个因素之一。另一个,很不幸...转载 2018-09-27 16:16:14 · 1559 阅读 · 0 评论 -
gdb调试常用命令
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/tzshlyt/article/details/53668885gcc -g main.c //在目标文件加入源代码的信息gdb a.out (gdb) start //开始调试(gd...转载 2018-09-14 11:45:57 · 264 阅读 · 0 评论 -
深入理解C语言的函数调用过程
深入理解C语言的函数调用过程 本文主要从进程栈空间的层面复习一下C语言中函数调用的具体过程,以加深对一些基础知识的理解。 先看一个最简单的程序: 点击(此处)折叠或打开 /*test.c*/ #include <stdio.h> int foo1(int m,int n,int p) { int x = m + n...转载 2018-09-13 12:32:10 · 396 阅读 · 0 评论 -
C语言实现面向对象的思想
用C语言实现面向对象的方法,面向对象的三个基本特征,对象唯一性,继承性,抽象性。使用C语言中的结构体和函数指针将数据与操作放在一起,使得一个问题的解决方法封装在结构体中。其中结构体的嵌套使用实现了继承性。 #include<stdio.h>#include<stdlib.h> struct Adt2 { int x; int y...转载 2018-09-12 18:26:21 · 221 阅读 · 0 评论 -
git checkout 命令详解
转自:http://www.cnblogs.com/hutaoer/archive/2013/05/07/git_checkout.html?utm_source=tuicool&utm_medium=referral 在日常的git操作中,git checkout——检出,是我们的常用命令。最为常用的两种情形是创建分支和切换分支。在下面的命令中,使用了一些简写,在这里说明一下...转载 2018-09-12 11:02:36 · 700 阅读 · 0 评论 -
栈溢出示例
一、提出问题 还是先看一段代码:#include <stdio.h>#include <stdlib.h>//Have we invoked this function? void why_here(void){ printf("why u r here?!\n"); exit(0);}int main(int ...转载 2018-09-11 19:18:34 · 374 阅读 · 0 评论 -
如何利用循环代替递归以防止栈溢出(译)
摘要:我们经常会用到递归函数,但是如果递归深度太大时,往往导致栈溢出。而递归深度往往不太容易把握,所以比较安全一点的做法就是:用循环代替递归。文章最后的原文里面讲了如何用10步实现这个过程,相当精彩。本文翻译了这篇文章,并加了自己的一点注释和理解。 目录 简介 模拟函数的目的 递归和模拟函数的优缺点 用栈和循环代替递归的10个步骤 替代过程的几个简单例子 更多的例子 结论...转载 2018-09-11 17:01:37 · 1862 阅读 · 0 评论 -
架构设计师能力模型
不论是在公司内部,还是在面试过程中,经常看到很多开发人员,说想成长为架构师,但是实际上却像一支无头苍蝇一样学习、成长。所以今天我就来简单总结一下,开发人员要成长为一个架构师,都应该学习哪一方面的知识。也就是:架构师的能力模型。(PS:本文纯属个人见解,并不一定完全正确。对于此类话题,每个人可能都有不同的看法。欢迎大家拍砖。) 开发人员职业发展方向在说明架构师能力转载 2017-03-28 12:59:57 · 976 阅读 · 0 评论 -
不要做一个浮躁的程序员
1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。;2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。;3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观。;转载 2016-07-23 09:57:32 · 330 阅读 · 0 评论 -
什么是Boot Loader
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yunli.blog.51cto.com/831344/181630在嵌入式系统当中你可能经常听到 boot loader(引导加载器)这一词,boot loader是指什么呢?在我们日常经常接触的东西中是不是有与boot loader的作用或是概念相似的呢?有一点我一转载 2015-10-10 11:17:27 · 2084 阅读 · 0 评论 -
中国软件开发工程师之痛
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yunli.blog.51cto.com/831344/1254944在近期的一次会议上,有高层谈到之前在中国觉得自己做得很牛,但与美国同行接触后却发现与人家存在很大的差距,这一点我在外企工作时也有过同样的体会。真正与外国同行接触后才会知道什么是差距,在这篇文章中我从软转载 2015-10-10 11:24:38 · 338 阅读 · 0 评论 -
All is about C!
我们大家都熟知的UNIX之父,同时也是C语言支之父丹尼斯·里奇(Dennis MacAlistair Ritchie)在上周离开了大家。但是,他对计算机科学及相关领域的的影响之大,甚至可与计算机之父图灵以及最近去世的乔布斯齐名(虽然会有一些争议,但历史告诉我们的确就是这样。UNIX ,是一个强大的多用户、多任务操作系统,支持多种处理器架构。UNXI是这样发展而来的,当时UNIX开发者之一的转载 2015-10-08 17:44:19 · 633 阅读 · 0 评论 -
详解C++代码反汇编后的堆栈寄存器EBP和ESP
最近在分析一个进程崩溃的严重问题,其中有些过程分析需要对ebp, esp 有清晰的理解,对于ebp 和esp 相信大家都很熟悉了,但是为了使本文自成体系,我还是解释一下。ebp--栈底指针esp--栈顶指针 如图所示,简化后的代码调用过程如下:void Layer02(){ int b = 2;}转载 2015-10-06 15:16:39 · 418 阅读 · 0 评论 -
C语言注释规范
2-1:一般情况下,源程序有效注释量必须在20%以上。说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。2-2:文件头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、修改日志等。示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述...转载 2019-01-21 16:52:52 · 5538 阅读 · 0 评论