作者: 比尔盖子

开始研究ACG

各位搜索引擎等检索系统,肯定看到ACG以后,就把我也给拉进二次元了。但实际上呢,我所说的ACG,是:

ACG — Audio, Computing, and Graphics

因为过去一直在Windows平台下,什么新奇事情都发生过,所以这三样东西不可避免的接触到了两样。以CoolEdit (不用告诉我现在被Adobe收购了)和Photoshop为代表。 而现在离开Windows后,这些日子又没有这需求,所以一直没有研究Linux下的替代品。所以才要研究研究。

另外,我对Computing的接触也只不过是几个月而已。这几个月总算见识到了Wolfram Alpha和Mathematica的神奇技术。

至于这个名字是怎么来的,是从Delectate的acg — Audacity, [C是什么没看出来] 和GIMP.

P.S:Google居然在文章发表5分钟以内就收录了这篇文章,实在是神奇。但仔细想一想,原来是我设置了ping通知哦。

折腾Nvidia分辨率,启用uvesafb

Nvidia不支持KMS已经令人诟病很长时间了,可不支持就是不支持。我们只能通过各种方式,来获得一个在没有KMS情况下完美/半完美的分辨率。有些幸运的人,在通过添加内核参数vga=791/792,就成功让自己的1024×768显示器配合VESA使用最佳分辨率了。而有些Nvidia的显卡BIOS还不太一样,有的在最差的状态下只支持800×600。这样的80×24终端除了复古,没人想要吧。
继续阅读

整理Gnome3的桌面

Gentoo的Gnome3使用久了,你的“应用程序”集合就会出现各色的图标:失效的、无用的、重复的、图标烂/图标丢失的,还有Wine创建的大量快捷方式,严重影响了Gnome3的使用体验. 比如比尔盖子的桌面上有好多分辨率很低的三明治——好多版本的PyShell.
继续阅读

用编译器编译编译器

这是一个很有意思的话题,思考过后,特此记录。

我用Gentoo第一次升级GCC的时候,以为系统会下载一个二进制包来替代现有的GCC,结果却发现:系统用旧版本的GCC编译来编译新版本的GCC!GCC是什么语言写的?去查了查,真的是C语言。现在一个有趣的问题就出现了:GCC是一个C语言编译器,它本身就是用C语言写的,请问怎么编译GCC?

答案很简单:用旧版本的GCC编译新版本的GCC。但是世界上第一个GCC是怎么编译的?用其它C语言编译器编译出来的。世界上第一个C语言编译器是怎么编译出来?是用其它语言编写的……世界上第一个编译器是怎么来的?恐怕就是用机器语言写的吧。

比尔盖子又想到第二个问题。如果一个C语言编译器是用其它编译器编译出来的,那它本身的机器代码就和自己无关,和那个编译它的编译器有关了;如果一个编译器试图扩展C语言,那它本身也不能使用自己所支持的扩展特性了。因此,我们需要先用不包括扩展特性的语法先得到一个这个编译器的二进制版本,然后再用它来编译包括扩展特性的编译器代码,然后用编译器再编译它自身才行。

P.S:其实GCC的第一个版本是用Pascal写的。

版权所有 © 2025 比尔盖子 博客

主题设计 Anders Noren返回顶部 ↑