APUE2-7
password636
没简介
展开
-
7.4.命令行参数(Command-Line Arguments)
7.4.命令行参数(Command-Line Arguments)当一个程序被执行的时候,does the exec的进程能够传递一些命令行参数给该程序。这是UNIX系统shell的正常操作的一部分(指传递命令行参数)。我们已经在前面的章节中看到了许多这样的例子。Example程序7.4向标准输出输出了它所有的命令行参数。注意:正常的echo程序是不输出第0个参数的。如果我们编译这个程翻译 2006-05-09 13:52:00 · 1928 阅读 · 0 评论 -
7.5.环境列表(Environment List)
7.5.环境列表(Environment List)每一个程序也被传入一个环境列表。象参数列表(argument list)一样,环境列表也是一个字符指针的数组,其中每个指针指向一个以null结束的C字符串(null-terminated C string)。这个指针数组的地址被包含在全局变量environ中:extern char **environ;例如,如果环境由五个字符串组成,环境列表翻译 2006-05-09 17:40:00 · 2702 阅读 · 0 评论 -
7.6. 一个C程序的内存布局(memory layout)
7.6.一个C程序的内存布局(memory layout)一个C程序一直以来都是由以下5个段(pieces)组成:代码段(text segment):存放CPU执行的机器指令(machine instructions)。通常情况下,代码段是可共享的,使其可共享的目的是对于频繁被执行的程序,只需要在内存中有一份拷贝即可,比如文本编辑器(text editors),C编译器,shell等等。另外,翻译 2006-05-08 13:45:00 · 4904 阅读 · 0 评论 -
7.9.环境变量(Environment Variables)
7.9.环境变量(Environment Variables)正如我们前面提到的那样,环境字符串(environment strings)通常是这样的格式:name=valueUNIX kernel从来都不理会(look at)这些字符串;它们的解释(interpretation)是由各种各样的应用程序来做的。比如shell就使用了许多环境变量。一些环境变量是在登录的时候就自动地被设置了,比如翻译 2006-05-09 23:43:00 · 1647 阅读 · 0 评论 -
7.7.共享库(Shared Libraries)
7.7.共享库(Shared Libraries)今天,大部分的UNIX系统都支持共享库。Arnold在System V下描述了一个早期的实现,后来Gingell et al在SunOS下描述了一个不同的实现。共享库从可执行文件中移走了common library routines,取而代之的是在内存中保留了一份所有进程都会涉及到的库的拷贝(a single copy of the libra翻译 2006-05-08 22:58:00 · 1907 阅读 · 0 评论