13 High_High

尚未进行身份认证

我要认证

让漫天繁星在指尖随心闪耀。

等级
TA的排名 3w+

我理解的C++

C++用了很多年了,昨天有机会和技术高手讨论了一下,感触很多,记录一下吧。一.编程语言C++这个小节是把C++作为Programming Language这个topic下面来讨论,C++有三个主要方面的语言特性:面向对象编程,函数式编程,模板编程。1.     面向对象编程这个应该是用的最多的方面了,说起来都是教科书上的封装,继承,多态。我个人理解面向对象威力最大的是封装,而面向对象引发出来的设计...

2018-04-27 12:55:15

像处理数据一样处理代码

只听Norvig说:“是,John,你有什么问题?”我记不清Lisp之父当时怎么问的了,但不超过十个词,就是问 Python是否能如Lisp那样优雅地像数据一样处理代码。“不,John,不行。”Norvig回答,然后静等麦卡锡继续发问。但是,老人什么也没有再说。怎么样像处理数据一样处理代码?(define (cons x y) (define (dispatch m) (c

2013-05-12 09:25:13

王垠的一些文章

无意中看到他的博客,感觉说的很好,早点看到就好了。以下是搜集的一些他的博客,按时间从旧到新:完全用linux工作写给支持和反对《完全用Linux工作》的人们清华梦的粉碎——写给清华大学的退学申请Cornell 感受我和Google的故事对博士学位说永别从工具的奴隶到工具的主人  (这篇学计算机的一定要看,真的写的非常好)他朋友对他的回

2013-01-21 07:43:47

The Devil's Guide to Debugging

1. Scatter output statements everywhere.2. Debug the program into existence.3. Never backup earlier versions.4. Don't bother understanding what the program should do5. Use the most obvious fix

2012-10-28 11:19:26

video buffer里的属性

内存中从0xB8000h起始的一段地址叫做图像缓存(video buffer)。0xB8000开始的字符位于屏幕左上角,整个屏幕一共25行,80列。每个字符占用两个字节,前一个字节是ASCII码,后一个字节属性。属性如下表:BitUsageExample7Blinking06Background Red05Ba

2012-05-17 05:24:25

computer science themes

abstraction: hiding detailsuniversality: 1) way to make decisions; 2) way to keep track; 3) way to keep goingrecursive definitiondesign under constraintdesign under constraintliberal a

2012-04-06 09:17:01

linux编程之emacs

在linux下编程,有两个编辑器是肯定会听说的,vim和emacs,个人感觉这两个编辑器和IDE比也真是有过之而无不及啊。我自己先学了emacs,而且用起来很顺手,所以暂时也没学习vim的打算,这里只能说说emacs。当然不是说vim不好,关于这两个编辑器的口水已经够多了,我只能引用某个大牛的一句话:“emacs有的功能,vim都有,反之亦然。”其实只要能把活漂亮的干完,你喜欢用记事本也可

2012-04-01 09:33:34

Lisp the language

Born of LISPAt first,computers were invited to do numerical computing. But in order toperform numerical tasks efficiently, it had to be given importantnon-numerical capabilities(Herbert 1980). Whe

2012-03-30 03:07:59

关于C++的placement new和placement delete

昨天发贴提了个问题,今天总结在这。原帖点击进入,有兴趣可以看看,我呆会儿还会说。C++的new是语言自定义的操作符,这个操作符的行为包含两件事,而且你不能改变。第一件事:调用operator new分配内存。所以通常说的重载new函数其实重载的是operator new,你无法重载new。第二件事:调用你要new的对象的所属类的构造函数初始化第一步中分配的内存。这就是为什么你Obj

2012-03-27 01:03:49

qt下的跨目录多工程编译

这里要编译的工程包含一个库和一个可执行文件。可执行文件依赖于库,所以要先编译库,编译后库放在lib目录里面,可执行文件放在bin目录里面。目录结构如下:.├── app│   ├── app.pro│   ├── appwindow.cpp│   ├── appwindow.h│   └── main.cpp├── bin├── complex.pro├── inclu

2012-03-23 02:07:54

keyboard buffer

// also as note for interruptWhen a key is either pressed or released, an interrupt is generated. On an ISA machine this interrupt is allotted, IRQ#1, which in turn is reported by the interrupt cont

2012-03-21 09:25:49

git命令

详细的git详解请参见另外一篇博客,我也是从那学习的,猛击进入=========华丽丽的分割线==========以下是个人memo :)同步远程服务器上的数据到本地: git fetch origin         // 3. git分支新建分支:git branch videoplay转移到新分支videoplay:git checkout videoplay合并vi

2012-03-12 07:02:22

C/C++的预编译和宏定义

预编译是整个编译过程的第一步,是g++ -E选项输出的结果。这个步骤处理的是源文件/头文件中的宏,宏指令常用的有以下几类:文件包含:#include宏定义:#define、#undef条件编译:#ifdef、#ifndef、#if、#elif、#else、#endif1. 文件包含 #include预处理会把要包含的文件的内容全部包含进来,比如下面这个文件prepro.cpp:

2012-02-24 09:36:51

linux编程之查看帮助

想要在linux下独挡一面的编程,有一技能必须掌握,那就是查看帮助。可能你习惯用google,百度来找帮助,但是使用下面的方法,获取信息更快,学习起来也更系统些。要查看一个命令的帮助有两个方法:命令 + --helpman + 命令这两种方式一般命令都会有其中一种形式,有些两种形式都有,而它们的输出也很类似,都会告诉你命令的用法和命令支持的选项,比如:g++ --hel

2012-02-21 11:16:27

编译器g++

g++是GNU编译工具集(GCC)中的一个组件,用来编译C++语言写的源文件。从C++源文件到可执行文件的编译过程,有如下几个步骤,g++提供了很多编译选项,可以让我们控制整个编译过程:预编译(g++选项 -E)结果直接输出到控制台编译 (g++选项 -S)结果保存为.s文件,汇编文件汇编 (g++选项 -c)结果保存为.o文件,目标文件(object file)链接 (g++选项

2012-02-20 11:47:31

linux编程之动起手来

有了一个linux环境以后,接下来要做的事情就是熟悉它。而那些bash命令显然满足不了我们的需求,于是,让我们真刀真枪在linux下编程序吧。第一个程序第一个程序当然是老掉牙的hello world了。打开心爱的linux的家:cygwin,接下来怎么新建文件,怎么写程序呀?这个问题的答案也是我推荐cygwin的一个原因,就是你可以在windows下用记事本或者你喜欢的IDE把程序写好

2012-02-19 09:35:16

几点学习linux编程的建议

我个人用了3、4年linux,从当初的小菜鸟到现在的大菜鸟,积累了一些经验,现在分享给大家,尤其是初学者。弄linux的环境大体有3种办法:在windows上安装cygwin在windows上安装虚拟机,再安装linux直接装linux,弄个双系统3种办法我都用过,目前我个人是双系统,但是对于初学者,我强烈推荐使用第一种方法,是的,极其强烈。原因很简单,就是cygwin安装简单,不

2012-02-18 08:58:54

不光是汇编开发指南

Linux 汇编语言开发指南写的挺不错的。

2012-02-15 01:02:33

多线程程序在内存中的分布

上一篇博客谈到了普通程序在内存中的分布,这篇博客谈谈文艺程序在内存中的分布。执行环境首先缕一下概念吧。在linux下,进程(process)和线程(thread)并没有什么区别,都是一种执行环境(context of execution, COE),在linux下统称为task。每个执行环境都有自己的状态,包括CPU状态,内存映射状态,权限状态(uid,pid)和各种各样的通信状态(打

2012-01-21 06:49:57

谈谈程序在内存中的分布

作为一个菜鸟,这个题目有点大,所以这篇博客缺点是可能不够深入,但应该还是很详细的,希望能对大家有所帮助。1.简介加初步分析在linux系统中,程序在内存中的分布如下所示:低地址.text.data.bss            heap(堆)      -->      unused   env高地址其中 :.

2012-01-15 12:04:10

查看更多

勋章 我的勋章
    暂无奖章