`
kbasm
  • 浏览: 29598 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
今早媳妇在外出路上给我短信说小乔over了,我还以为是微薄的造谣。 切到中央新闻台,才知是真事。上网,看苹果主页,果然………………   我一向不是苹果粉丝,手里的爱疯二代,也是公司的,不是我买的。 作为做技术的,对于推崇时尚的苹果实在不感冒。   但,英雄就是英雄,即使苹果的死敌也无法改变乔布斯是英雄的事实。 英雄之死,实在令人唏嘘。 走好,小乔,愿天堂继续流行爱疯爱拍得,让你继续创造世界。   注:对于挑字眼的,小乔实在是我对英雄的尊称,无他意。  
请注意,本文不是讲解处理器缓存,如果你对cpu cache这个概念不清楚,请先Google一下。 另外,本文主要针对像 C,C++ 这种产生机器码的语言的,对于像 Java,.Net 这样的字节码语言,这里所说的可能无效,至少我没研究过。 首先说说我所说的这些旧有的优化技巧从哪里来的。 原因很简单,如果你像我一样,多年只用 J2ME,或者 Flash 这样的技术开发,你是不太可能会关心处理器缓存的,而是用一些其它的性能技巧,这些技巧遇到处理器缓存问题,就失效了。 再如果你的CPU,汇编,优化知识像我一样仍停留在 80386 时代,你我掌握的优化技巧断然也是过时的。 失效技巧一,使用预先 ...
最近发了几个文章,分别在博客园,iteye,和CSDN上。有几篇文章还是花了心思的,所以就以那几个花了心思的文章举例。 CSDN:访问量基本在个位数。最好成绩是上了20多访问。唯一一个留言是灌水性质。我推荐一些文章到首页,似乎根本没人理。而那网站上首页的都是些持续了几个星期的老文章。 iteye:访问量基本在几十次,还算中庸,一旦被挤出博客首页就没什么访问了。几乎没人留言。 博客园 cnblogs:两个被编辑认可而上了首页的文章,访问都上了1000次,有一文因为会有争议,讨论20多次。即使只发在候选区的文章,也有一二百的访问量。有上首页的可能,何愁无人花心思写文章? 给我的感觉,CSDN ...
http://bellard.org/jslinux/ 在浏览器里运行 Linux !进入那个网址就可以运行!纯 JavaScript 写的 PC 模拟器。 有一些基本命令可以用,比如 vi, ls。 看那个 technical notes,有一些限制,但那些限制基本微不足道。 只是想说一个字:真是太疯狂了!
这篇文章主要是一个闲文。如果您正在寻求一个理想的随机排列生成算法,直接阅读方法3。 另外请注意,这里所讨论的算法并不是新的。什么是随机排列? 一个随机排列是一组位于随机位置的对象。 给定一个对象,1, 2, 3 ... n,随机排列看起来就是, p1, p2, p3 ... pn 其中px是从原来的对象集合中选取的随机值。 随机排列对于扑克牌洗牌,随机产生益智游戏,产生随机序列,或者生成一个随机子集合集(从 n 个对象中随机选出 k 个对象),非常有用。随机排列生成算法从天真到成熟,我的真实经验 为了解释算法,我会用一个辅助函数来产生随机数。 int random(int ...
我以前曾有几年时间用 Delphi 和 VCL 来开发工作和业余项目。 近年来我由于各种原因放弃了 Delphi/BCB,转用 C++ 开发兴趣项目。是的,兴趣而已,我从来没有机会在我的日常工作中使用C++。 当涉及到图形用户界面的项目,我需要 ...
我刚刚用 Visual C++ 2008 Express 成功编译了我的第一个非常简单的 wxWidgets 程序。 我总共花了大概一个小时时间,包括下载,安装,等等。 一个小时已经很短了。我曾在 Qt 上花了很多小时但仍没有头绪怎样在 VC 2008 Express 上编译它。 为了帮助大家能开始你的 wxWidgets 开发,这里是非常简单的一个心得和教学。编译和安装 wxWidgets 1, 从官方网站下载 wxWidgets 的源代码http://www.wxwidgets.org/downloads/ 我下载的是最新稳定版 2.8.12,wxMSW。 它是专为Wind ...
让我们先来简单看看什么是继承和组合。只是例子,不是概念。 假设有三个特性(模块), ModuleA, ModuleB, ModuleC。有两个类 ClassA 和 ClassB 需要使用它们。ClassA 会用到 ModuleA 和 ModuleB,ClassB 会用到全部三个特性。而且我们还假 ...
Far 文件管理器 是一种非常强大的,基于控制台文本的,很像 Linux 下的 MC 和 Norton Commander的Windows上的一款文件管理器。 它现在免费开源,而且支持Unicode。以前它要收费25美元,是共享软件。 Far 文件管理器可以在以下几 ...
英文原文在这里。 http://www.kbasm.com/cpp-use-member-function-as-c-callback.html 并无玄妙,只是用function traits解析了函数类型然后定义了几个静态函数而已。 用法 typedef int Compare(const void *, const void *); struct CompareObject { int operator() (const void * a, const void * b) const { return (* ...
英文原文 http://www.kbasm.com/cpp-callback-benchmark.html 简单说,CppCallback 和 libsigc++ 性能基本相当,至于 boost 则要差很多了。 用VC (微软 Microsoft Visio Studio 2008 Express) 和 GCC 分别做了测试。
英文原文 http://www.kbasm.com/cpp-smart-pointer-memory-management.html 简单说,VC 2005和2008的STL库会对迭代器进行越界检查,很好的调试功能,可惜在release版里这个也是缺省打开的,导致STL迭代器非常非常慢。 所以一定要在发布版中把这个功能禁止掉,方法很简单,把宏_SECURE_SCL定义成0就行了。 VC 2010 也有这个检查,但只在debug版打开,release版则缺省禁止了,所以没问题。
Global site tag (gtag.js) - Google Analytics