自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 施一公:我对科研的体验

从入学以来,心态一直没有放平,没能沉下心来好好做研究。一方面是对于领域知识的匮乏,另一种个重要原因是没有明确的方向和内心的计划。最近有幸读到施一公 院士14年5月17日在“基础学科拔尖学生培养试验计划”学生学术交流会上所作报告录音整理,对自己的触动蛮大,特别是其爱国情怀和对学术研究的各阶段体会。现将各个版本的分段进行整理,记录下来。中国首位留学生容闳  我很开心今天

2014-11-30 09:10:12 7829

原创 static成员函数访问非static成员

在C++中类的static成员类似于作用于类的全局成员,可以在类未创建任何实例化时直接通过 类名::静态成员名 进行访问。static成员函数只能访问static成员,而不能访问非static成员。这是因为在类为实例化时,静态成员已经存在,而非静态成员只有在实例化的时候才创建,如果在静态成员中访问非静态成员,很可能崩溃(访问一个不存在的对象)。因此,C++中禁止static成员函数直接访问

2016-04-17 17:04:31 2146

原创 硬链接和软连接

太长不想看: 硬链接:就是给文件起个别名,inode和文件内容是一样的,不能跨文件系统,不能对不存在的文件创立链接。 软连接:类似与window是快捷方式,软连接就是普通文件,文件里面存的是被链接文件的地址,可以跨文件系统,可以对不存在的文件创立链接。文件的组织: 在Linux文件被分为两部分:文件元数据(文件名、inode)和用户数据(数据块)|————————————————– |文件名

2016-03-31 22:15:38 711

原创 代码编译过程

在编译代码时我们通常使用 gcc hello.c -o hello 即将hello.c文件编译成hello可执行文件。那么这其中编译器做了哪些工作?从最简单的例子入手hello.c:#include <stdio.h>int main(){ printf("hello\n"); return 0;}《深入理解计算机系统》一书中给出编译器详细的工作流程图:预处理gcc -E

2016-03-31 09:57:23 433

原创 改善程序与设计的55个具体做法之一:视C++为语言联邦

C++以高效、强大著称。然而想要完全掌握并灵活应用并非易事。 C++从最初的 C with class不断扩充和发展,至使其功能强大同时变得异常繁杂。书中作者巧妙的将C++比作语言联邦。各个模块功能比作次语言。在不同的次语言中应用不同的规则使程序健壮高效。 一下为作者分出的四个次语言:C。即仍然使用C语言编写程序Object-Oriented C++。在C的基础上引入类、封装、继承、多态、虚

2016-01-19 16:46:17 540

原创 ubuntu下apt-get install能找到但无法安装的问题

问题原因:源更新不支持问题。解决办法,修改更新源问题:/etc/apt/source.list1. vi打开/etc/aptsource.list2. 使用:%s/cn.archive/old-releases命令将文件中所有的cn.archive替换为old-releases3. 更新系统 sudo apt-get install4. 再安装对应软件。注:

2015-11-26 13:38:09 913

原创 树的遍历

包含树的前序遍历、中序遍历、后序遍历和层次遍历,提供了递归和非递归方法:void InOrder(BiTree T){ while(p||!IsEmpty(s)){ if (p) { Push(S,p); p = p->lchild; } else{ Pop(s,p); visit(p); p = p->rchild; } }}voi

2015-10-30 20:49:16 454

原创 linux,windows双系统共享鼠标键盘

说在前面的话: 如果是多个windows系统,共享鼠标键盘可以使用Mouse without borders软件,该软件不存在服务器于客户端概念,所有机器所对等的,因此任何一个机器的鼠标键盘都能控制其他机器。正文:0 本文所使用的软件:Synergy 该软件区分服务器与客户端,鼠标键盘所在机器为服务器,其他机器为客户端。软件安装: Ubuntu

2015-09-02 23:38:35 2586

转载 ptmalloc

ptmallocphenix*2006-06-07目录    1  前言    2  x86平台Linux程序的内存分布    3  Allocator    4  chuck的组织        4.1  chuck        4.2  chunk中的空间复用    5  空闲 c

2015-08-13 22:13:05 452

原创 strcmp,strlen,strcmp,strcat实现

最近实验室的的师兄们在忙着BAT各种面试。本来就静不下来的心,又躁动了,根本无心看论文。说来也是,每次看到身边的同门师兄去实习/工作内心一遍遍的重复论文没什么卵用好学技术才是王道,回头一想没论文。。。。。。。其他都是空想啊 _(:3J∠)两个月前女票不经意的一句话“你一天只能做一件事?效率呢?” 才惊醒,原来自己的CPU一直是单核,重点是还是非抢占式的! 回想一下,虽然事务有轻重之分,但还不至于

2015-08-13 21:42:45 675

原创 linux下写穿/直写(Write-Through)与写回(Write-Back)

CPU使用高速缓存(dcache)时,它对内存的的写操作有两种模式:写穿(write-throuht)、写回(write-back)。写穿(write-throuht)模式: 该模式下,CPU对主存写数据时,不经过dcache直接写到内存,此时对于写的实现比较简单,如果系统只用写穿模式的话,dcache则变成了读缓存了。写回(write-back)模式:什么是写回 CPU写入数据时,不直接将数

2015-08-07 17:35:39 9460 1

原创 C语言声明的优先级规则

图为《C专家编程》的第三章,写的很好,有了这个规则再也不用担心指向常量的指针、常指针、指向常量的常指针傻傻分不清楚了

2015-08-03 21:37:18 490

原创 linux下统计程序/函数运行时间

如果只是初步统计或比较各函数的运行时间,可以用以下方法,若是想详细统计各个函数时间,建议使用第三方工具 一. 使用time 命令例如编译一个hello.c文件#gcc hello.c -o hello生成了hello可执行文件,此时统计该程序的运行时间便可以使用如下命令#time ./hello 在程序运行结束后便会显示出所需时间real 0m2.913suser 0m0.012s

2015-07-27 16:55:59 5553 1

原创 将make命令输出的warning和error信息输出到文件里

make >a.txt 2>&1 具体为什么,以及如何实现的,暂时不求甚解,使用并分析代码错误先。参考信息

2015-07-25 22:13:26 1400

转载 linux下测试程序中各函数执行时间工具

时间都去哪了~,还没好好感受过你的速度呢,为什么修改了这么多次,你依然跑的这么慢呢?时间都去哪了~~好吧,跑题了,下面是两个转载的文章,主要介绍了两个测试程序的工具,代码改几次运行时间依然降不下来,恩,现在就拿刀解剖它,看看到底那里在耗时。有些时候,我们特别关注程序的性能,特别是底层软件,比如驱动程序,OS等。为了更好的优化程序性能,我们必须找到性能瓶颈点,“好钢用在刀刃上”才能取 得好的

2015-07-24 17:45:38 5006

原创 Linux内核基于位的自旋锁

linux 内核对自旋锁速度更快要求的程序提供拉一套如下接口 /* Don't use this unless you really need to: spin_lock() and spin_unlock() * are significantly faster. */ //内核明确写出, 除非对速度要求很高,否则尽量不要使用该自旋锁 //至于原因,肯定是用较高的优先级使用了CP

2015-07-17 16:37:07 649

原创 虚拟机下Linux联网配置

- 虚拟机外部设置- 虚拟机内部Linux设置- 打完收工以virtualbox为例, 其实VMware他们俩设置基本上相同,只是virtualbox更轻量级一些,使用起来更方便:- 虚拟机外部设置使用桥接方式联网 在virtualbox【设置】页面中点击【网络选项】,在【连接方式(A)】中选择“桥接网卡”,混杂模式中选择“全部允许”。 外部设置完成了,若linux虚拟机已经启动,则需要重

2015-06-08 20:43:57 689

原创 优秀IT技术文章集(不断更新中...)

读优秀的技术博文有时能体会到拨开云雾之快感,能更快进入状态。 Linux驱动开发块驱动开发入门(真的是从0开始步步深入) 论文写作中国作者撰写英语论文中的一些常见问题SCI写作经典

2015-04-25 22:30:57 632

转载 Linux内核哈希表分析与应用

Linux内核哈希表分析与应用 转载http://blog.csdn.net/tigerjb/article/details/8450995前言: 1.基本概念: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列

2015-04-25 22:01:17 482

原创 Longest Substring Without Repeating Characters

Longest Substring Without Repeating CharactersGiven a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating le

2015-03-24 20:08:13 387

原创 Rotate Array(旋转队列)

Rotate ArrayRotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].//将数组按指定的位数进行旋转,例子给

2015-03-22 18:45:35 456

原创 Number of 1 Bits(计算一个数中有多少位为1)

Number of 1 BitsWrite a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).For example, the 32-bit integer ’11' has binary

2015-03-22 17:13:51 871

原创 Reverse Bits(数的位倒置)

Reverse bits of a given 32 bits unsigned integer.For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as0011100101

2015-03-22 17:09:20 482

原创 Linux源码学习之位移赋值

大家都知道Linux以高效快速著名,内核代码很多地方都能体现这种高效的设计思想。最近阅读就发现,代码很多地方使用一个数的高、低位分别表示不同的内容,以及位移来赋值。好处是,一方面,通过一个高、低位表示不同的内容可在运行的时候少的使用稀缺的内存空间,另一方面,大家都晓得在CPU中位移计算相对比其他计算快的。虽然这些细节都很小,但是注意细节,每个细节都做好才能做出最优秀、流畅的产品。针对位

2015-03-12 20:10:50 717

原创 linux内核代码之什么是Linux staging tree

在查看内核代码相关资料时总是碰到staging的相关字(XX Moved Out Of Linux Staging、YYstill in the staging tree),搞的一头雾水。并且在内核drivers\staging目录下有很多代码模块,他们到底是做什么东东的?索性就搜了一下什么是staging tree。Greg Kh在2008年6月10号在Linux内核邮件列表里宣布建立了

2015-03-10 16:38:34 2187

原创 linux 内核源码阅读之网站资源

最近在阅读Linux部分模块的源码过程中从http://lxr.free-electrons.com/网站获得很大帮助。一方面该网站提供了Version:  2.0.40  2.2.26  2.4.37  3.3 3.4  3.5  3.6  3.7  3.8  3.9  3.10  3.11  3.12  3.13  3.14  3.15 3.16  3.17  3.18  3.19

2015-03-08 14:53:45 1135

原创 Linux中计算一个地址所在页面的页号

在Linux内存中得到一个地址所在页面的页号有两种方法:一种方法就是用这个地址与PAGE_MASK相与,相与得到的结果就是页号;第二种方法就是把这个地址右移PAGE_SHIFT,移位的结果就是页号。

2015-01-28 16:48:36 1083

原创 iis7 HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。解决办法

iis7 HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。解决办法本来文件是可以上传的,结果下午突然就不行了,各种百度才知道(本人小白)是IIS限制了文件上传的大小,然后就使用了如下解决办法才解决。因此讲解决办法留在此处,希望能帮助到别人。错误页面HTTP 错误 404.13 - Not Found请求筛

2014-12-22 10:44:21 7922

转载 Linux上的free命令详解

解释一下Linux上free命令的输出。  下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如:FO[2][1] = 24677460FO[3][2] = 10321516                     1          2          3          4 

2014-12-18 16:43:21 457

原创 linux下更改系统默认语言

diff是Unix系统的一个很重要的工具程序。它用来比较两个文本文件的差异,是代码版本管理的基石之一。你在命令行下,输入:  系统默认【中文】----->改为【英文】vi打开/etc/sysconfig/i18n文件#vi /etc/sysconfig/i18n”命令将LANG="zh_CN.UTF-8" 改为:LANG="e

2014-12-18 09:18:59 637

原创 linux下解压命令

XX.tar.gz     格式解压为          tar   -zxvf   xx.tar.gzXX.tar.bz2   格式解压为          tar   -jxvf    xx.tar.bz2详细命令以后用到再补。

2014-12-16 23:29:06 514

转载 做一个对自己有点要求的人

原文作者@特立独行的猫我有一个男同事,年方35岁,单身,处女座。平日里的他,从来都是西装革履,白衬衣永远都跟刚从商店里买的似的。虽然我们公司也要求职业装上班,但正成大哥这样的,还真是很少见。我们这个行业,是经常需要熬夜写方案的,第二天一早就去提案的。有一次,我们凌晨四点写完方案纷纷回家睡觉,早晨9点在客户公司集合的时候,我们一个个端着咖啡还睡眼惺忪强撑着的样子,大哥又是西装革履,雪白的衬衫,两

2014-11-30 13:14:55 599

原创 Linux slab 分配器

最近要看Linux内存压缩方面的东西,由于自己对Linux完全是小白,所以打算对了解的相关知识进行记录。本篇是关于Linux slab分配器的,看论文期间发现slab cache,网上看到一篇文章发现无论是作者的功底,还在文章的组织都好,很细腻的讲了Linux slab方面的知识,这篇日志就先记录一下,看完内存压缩方面的东西,对Linux内存管理有系统了解后再自己总结一下。原文地址:htt

2014-11-20 22:00:35 626 1

转载 读懂diff

作者: 阮一峰diff是Unix系统的一个很重要的工具程序。它用来比较两个文本文件的差异,是代码版本管理的基石之一。你在命令行下,输入:  $ diff diff就会告诉你,这两个文件有何差异。它的显示结果不太好懂,下面我就来说明,如何读懂diff。一、diff的三种格式由于历史原因,diff有三种格式:  *

2014-11-10 22:33:22 539

空空如也

空空如也

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

TA关注的人

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