哆啦比猫的技术瞎扯 - Arch Linux · ドラえもん · 实时绘制
C++ 全局单例封装 C 语言库
C 语言的很多库都需要在程序开头初始化,程序结束时释放资源。在 C++ 中常规的封装方法是:
module.hh 1 namespace module 2 { 3 // life time management 4 void init(); 5 void free(); 6 7 // operations 8 void foo(); 9 void bar(int baz); 10 }
这样的 API可以和 C 语言中的对应起来,但是这种 API 极易出错,比如,有可能会在 init
前调用了 foo
,也可能在 free
后调用了 bar
,可能 init
了多次,也可能忘了 free
等等。本文将讨论这种类型的 API 在 C++ 中该怎样设计才能更安全、更 fool-proof。
[c] 100行实现简单的正则表达式引擎
注:此方法效率不高,仅供学习,产品级代码请使用 regexp 或 pcre 库!
gcc 匿名函数
看了一下 GCC Extentions 的手册,发现了点东西,利用这些东西终于可以实现我幻想很久的匿名函数了!
牛人就是牛啊……
今天因为某原因上了 Ken Perlin 大神的主页,看到右上角显眼的地方有这么一段话:
COMPILE THIS: main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x =0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0; j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);} (YOU CAN RUN THE ABOVE CODE WITH codepad)
是时候宣布我的另一个项目了……
……那就是:FrinX 游戏引擎,开源的 GTA(侠盗车手)式游戏引擎
一直都想写,现在终于有能力写了;不过目前还在早期的 alpha 阶段,没有任何可玩性。
由于今天终于把困扰我已久动画功能搞定了,所以来此宣布一下;顺便做一下动画导出技术总结(这个是最让我纠结的)
终于搭建起了栈堆砌式系统的框架了……
前几天下了 .werkkzeug 来玩。这是一个 demoscene 制作工具,RAD 的,设计很巧妙。它沿用了“节点”式的制作方法,但不需要你去“连接”那些节点——粘在一起的节点会被自动连接。学习了一下如何使用,发现这东西真的很合我胃口,只可惜是 Windows-only 的。于是乎一个想法诞生与脑海:要不我写一个类似的 for Linux?
lanos - Lanos' AN OS
终于知道怎么用 gcc 写OS了……
原来 GRUB 载入内核前会切换到 32bit 模式,这样就不用自己写 boot sector / loader / 32bit enabler 了