- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 一个小的编程技巧,你知道吗?
今天看linux文件系统的代码,有一个小地方引起了我的注意。记在这里,跟大家分享下。 大体上是这样子的(示例代码如下)。一个函数接受一个const char*参数,然后在函数体内又分配了一个局部的const char *指针,并将刚才传入的参数付给它,然后依次去访问(准确的讲是读取)其指向的字符串中的每个字符。当时我就怀疑为什么还要申请一个局部变量呢?这不是更加浪费内存么?直接
2012-03-06 21:59:51 540
原创 精确测量程序运行时间
转载请注明出处:http://blog.csdn.net/qingheuestc, by EinsteinInIct。 作为一个程序员,很多时候都会去关心自己的程序跑的到底有多快,这时就需要对程序的运行时间进行测量。对于不同的程序,它们的运行时间可能相差很大。诸如科学计算类的程序,由于计算量大且算法的并行化比较差,可能几天都跑不完。而有的程序的运行时间可能只有几分钟甚至不到1ms。
2012-02-19 20:01:26 1703
原创 amd64软件优化学习笔记(未完待续)
以下内容整理自《Software Optimization Guide for AMD64 Processors》。转载请注明出处:http://blog.csdn.net/qingheuestc, by EinsteinInIct。 1,在单精度浮点变量后面加上f,可以显示的通知编译器不把单精度当多双精度来处理。(除非内存非常紧张,否则最好不要用) 2,当用数组模式进行访问时,使用
2012-01-11 17:47:43 603
原创 intel 软件优化学习笔记
转载请注明出处:http://blog.csdn.net/qingheuestc, by EinsteinInIct。 软件优化是一门艺术,需要从应用层算法,操作系统,硬件体系结构等多方面来考虑。一般来说,应用层算法和数据结构的设计对于提高程序的性能最为关键,但这也必须依赖于操作系统和体系结构所提供的计算模型。很多时候,人们会首先根据计算模型中的一些不变的东西,设计出应用层算法和数据结构,
2012-01-11 17:44:58 731
原创 提高c++性能的一些建议
下面的内容是对国外一前辈agner关于cpp软件优化文档的一个整理,相当于学习笔记,放在这里,跟大家分享一下。 来自《optimization_cpp.pdf》 转载请注明出处:http://blog.csdn.net/qingheuestc Edited by Einstein in 2011年11月3日 afternoon 1,操作系统对硬盘文件一般会进行缓存,但对usb
2012-01-11 17:38:37 787
原创 windows hook 之IAT篇
转载请注明出处http://blog.csdn.net/qingheuestc/article/details/6527991,并保证文章完整性,by Einstein In Ict。 程序员通过使用微软提供的api不仅可以方便的实现绝大多数的编程任务,同时也不必与繁琐的计算机硬件直接打交道。出于某些工程上的需求,有时我们需要在调用某个api的时候做一些额外的工作(比如采集或
2011-06-06 15:44:00 1881
原创 一些有用的linux命令和技巧
!$,代表上一个命令的最后一个字符串,用来简化输入 !!,代表上一个执行的命令,如果手指不想去按向下的方向键+回车,可以用这个 ^old^new,用new替换上一个命令中的old,适合于整个命令较长但命令的变换不大的地方 du -s * | sort -n |tail,显示当前目录下占用磁盘最多的十个文件或文件夹 date -d@123,将时间戳转为日期,此日期是考虑了时区的>
2013-09-24 14:22:07 432
原创 git常用命令
git的安装。zypper install git或者 apt-get install git,git --version查看安装版本。 添加用户名和email信息。git config --global user.name "einstein", git config --global user.email "myemail@163.com", git config --global co
2012-07-03 19:22:54 540
转载 C++ Inline ASM 内联汇编详解
一、 优点 使用内联汇编可以在 C/C++ 代码中嵌入汇编语言指令,而且不需要额外的汇编和连接步骤。在 Visual C++ 中,内联汇编是内置的编译器,因此不需要配置诸如 MASM 一类的独立汇编工具。这里,我们就以 Visual Studio .NET 2003 为背景,介绍在 Visual C++ 中使用内联汇的相关知识(如果是早期的版本,可能会有些许出入)。 内联汇编代
2012-02-27 22:02:56 1488
原创 记一次双系统无法开机
装双系统已经很久了(ubuntu11.10+win7),一直以来都很正常,昨天开机还没有任何问题。 今早开机突然无法进入选择操作系统的界面,过了bios那个界面后只有一个光标在闪。重启后进bios,发现notebook harddrive被设为了倒数第二项,将其设为第一个开机启动项后启动成功。 原因:怀疑是我开机的时候连上网线的缘故,貌似我的note
2012-02-03 10:35:15 490
原创 celeron E3200 双核变单核
前天回到家,打开极品12后,发现cpu已经占用到100%,心里一阵奇怪。遂打开设备管理器,结果惊奇的发现,自己的E3200变成了单核。记得自己的电脑应该是双核啊,又到网上确认了下,E3200确实是双核。不知道是什么原因,下了个everest测了下,显示也是单核,但cpu型号里面俨然出现了dual字样,这更加坚定了自己的想法,自己的确实是双核的。但为什么计算机只用到一个核心呢? 首
2012-01-16 17:26:37 1558
转载 Numbers Everyone Should Know
转自 http://highscalability.com/numbers-everyone-should-know Google AppEngine Numbers This group of numbers is from Brett Slatkin in Building Scalable Web Apps with Google App Engine. Writes
2011-12-15 20:29:54 797
原创 c++ 心得
最近刚刚开始学C++,有了一点感慨,写在这里。错误之处,恳请大侠们不吝指正。 早就听人说不会c++不是真正的程序员。虽然此话说的有点绝对,但我觉得还是有一定的道理。 c++这门语言是我接触的第一个面向对象的编程语言,它对我编程时的思维方式产生了巨大的冲击,可以说带来了思想上的一场革命。 以前学习过C语言,它是一门面向过程的语言,在用它进行编程的时候,我们考虑的往往是过
2011-05-20 08:50:00 679 2
原创 linux compile problem
1, When I compile the c file using gcc ,I met with the error that :"ld:undefined reference to "atan"",but I had included the math.h in the C file. Finally, I found there is someting wrong with th
2011-02-18 16:07:00 484
翻译 bt4的U盘安装方法
本来想在U盘里装个bt3玩玩,但发现在我的机子上进不去系统,就连字符模式都不行,具体原因还不清楚。后来发现在另外一个室友的机子上倒是可以,但也不能拿人家的机子上干这种事吧!所以还是狠狠心,买了个大点的U盘(8gDataTraveler,金士顿的),想再装个bt4,估计bt4的兼容性应该会好些吧! 但在安装的时候,问题出现了。按照网上的给出的普遍做法,是先用hp的U盘格式
2010-04-23 10:54:00 4288
A Web Caching Primer
2011-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人