Linux程序设计 笔记——第一章入门

1、Unix的哲学

  简单性:Keep It Small and Simple。越大、越复杂的系统注定包含越大、越复杂的错误,而调试是所有人的苦差事。

  集中性:不要把所有乱七八糟的功能堆在一起,功能臃肿的程序很那维护和使用。当用户出现新的需求的时候,我们通常是把小工具组合起来已完成更复杂的任务。

  可重用组件:将应用程序的核心封装成库,便于调用。

  过滤器:Unix提供了一些机制,让我们可以把一些Unix程序通过一种新颖的方式组合起来,以开发出相当复杂的程序。

  开放的文件格式:比较成功并流行的Unix程序都是用纯ASCII码的文本文档或者XML文件作为配置文件和数据文件。

  灵活性:你不能期待用户都能非常正确地使用你的程序。永远不要认为你知道用户想做的一切事。

2、Linux程序设计

  Linux的应用程序有两种类型:可执行文件和脚本文件。可执行文件是计算机可以直接运行的文件,就像Windows下面的.exe文件一下;脚本文件通常是一组指令的集合,这些指令有解释器执行,按照脚本的顺序指令执行,比如shell文件。

  Linux并不要求这两种类型的文件有特殊的文件名或者后缀名,但最好加上来区别,像shell文件的后缀为.sh、Python的后缀为.py等等。

3、Linux下与程序设计有关的目录

  /bin:二进制文件目录,存放启动系统时用到的程序。

  /usr/bin:用户二进制文件目录,用于存放用户使用的标准程序。

  /usr/local/bin:本地二进制文件目录,用于存放软件安装的程序。

4、文本编辑器

  书中推荐使用的编辑器是Emacs,而我本人使用的是vim,不做任何说话,避免开战。

  编译器使用的gcc。

5、第一个Linux C语言程序

#include <stdio.h>
#include <stdlib.h>

int main()
{
  printf("hello world\n");
  exit(0);
}

  编译、链接和运行程序

$ gcc -o hello hello.c //-o name 告诉编译器可执行文件的名称,不加默认生成a.out(assembler output)
$ ./hello

  hello world

6、开发系统引导

  对C语言来说,头文件几乎总是位于/usr/include目录及其子目录中。那些依赖于特定Linux版本的头文件通常可以在目录/usr/include/sys和/usr/include/linux中找到。

  在调试c语言的时候,可以使用-I(大写)标志来包含保存在子目录或非标准位置中的头文件。例如:

$ gcc -I /usr/openwin/include fred.c

  编译器会在此目录下查找源文件中包含的头文件。

  

猜你喜欢

转载自www.cnblogs.com/linuxlog/p/9949766.html
今日推荐