Spockwang's Blog

在Windows上配置Emacs 23

| 评论

Emacs的配置文件

在Windows下,Emacs的配置文件存放在被Emacs称为HOME的目录下。默认情况下该目录 是C:/Users/<login name>/AppData/Roaming/(Windows 7)。这个目录可以通 过环境变量HOME来设置。

查看进程的内存使用情况

| 评论

用ps命令查看进程的内存

ps命令是Linux下常见的查看进程状况的程序,它有几个字段可以用来查看进程内存使用情况:sz,rss,vsz。分别说明如下:

  • sz:进程映像所占用的物理页面数量,也就是以物理页面为单位表示的虚拟内存大小;
  • rss:进程当前所占用的物理内存大小,单位为kB;
  • vsz:进程的虚拟内存大小,单位为kB,它等于sz乘于物理页面大小(x86平台通常为4kB)。

Quotes

| 评论

真正的安全感,来自你对自己的信心,是你每个阶段性目标的实现,而真正的归属感, 在于你的内心深处对自己命运的把控,因为你最大的对手永远都是自己。
—— 匿名

How to Support Unicode in C/C++

| 评论

To support multilanguage in programs we have to decide an encoding for internal use. It does not matter which encoding is used. But it must be able to encode all Unicode characters. In this article I decide to use wide characters as the internal encoding because it is easy to use and has much support from standard C library. The characters from the input is converted to wide characters for internal use. All the logic of the program is based on the internal encoding. When characters are required to transmitted to outside (e.g. print to stdout or across the network) they are converted to appropriate encoding.

Symbol Resolution by GNU Ld

| 评论

Symbol Resolution

When a symbol appeared multiple times in object files being combined asymbole resolution process is called by the link editor to determine whichsymbol is taken. The resolution of two symbols with the same namedepends on the symbol’s attributes (its binding, defineness and size). See page 67 of [Gabi4].

Linux程序的加载、运行和终止

| 评论

简介

用户在编写程序时都要定义一个main()函数作为程序运行的入口。程序开始 执行时就从这个函数开始。当这个函数返回时就表明程序运行结束了。可是用户编写的 程序要能正确运行远不是这么简单。比如,我们不禁要问main()是由谁调用 的呢?当从main()返回后又运行到哪里去了呢?C++程序中定义的全局对象是 如何构造的呢?又是如何析构的呢?如果程序是动态链接的,它所依赖的共享库是如何 加载进内存的?更复杂的是,共享对象中的全局对象是如何构造的和析构的呢?要回答 这些问题,就不得不弄清程序加载、运行和终止的整个流程,从中也可以知道系统软件 (包括操作系统、动态链接器、链接编辑器和编译器)为了支持用户程序的正确运行做 了多么复杂的工作。