Linux 操作系统
语言编程入门
二次制作版
Linux 操作系统 C 语言编程入门
[2 of 104]
整理编写:007xiong
原 文:Hoyt 等
二次制作:AureoLEO MAIL:wangzihao[AT]gmail[DOT]com QQ:15959622
制作说明:本书版权归原文作者!2005-12-18
Linux 操作系统 C 语言编程入门
[3 of 104]
目 录
第一章 基础知识 ……………………………………………………………………………
4
第二章 进程介绍 …………………………………………………………………………
10
第三章 文件操作 …………………………………………………………………………
17
第四章 时间概念 …………………………………………………………………………
27
第五章 信号处理 …………………………………………………………………………
31
第六章 消息管理 …………………………………………………………………………
39
第七章 线程操作 …………………………………………………………………………
49
第八章 网络编程 …………………………………………………………………………
54
第九章 Linux 下 C 开发工具介绍 ……………………………………………………….
87
Linux 操作系统 C 语言编程入门
[4 of 104]
第一章 基础知识
前 言
本章介绍在 LINUX 下进行 C 语言编程所需要的基础知识.在这篇文章当中,我们将会
学到以下内容:
源程序编译
Makefile 的编写
程序库的链接
程序的调试
头文件和系统求助
Linux 操作系统 C 语言编程入门
[5 of 104]
1.源程序的编译
在 Linux 下面,如果要编译一个 C 语言源程序,我们要使用 GNU 的 gcc 编译器。下面
我们以一个实例来说明如何使用 gcc 编译器。假设我们有下面一个非常简单的源程序
(hello.c):
int main(int argc,char **argv)
{
printf("Hello Linux\n");
}
要编译这个程序,我们只要在命令行下执行:
gcc -o hello hello.c
gcc 编译器就会为我们生成一个 hello 的可执行文件.执行./hello 就可以看到程序的输出
结果了.命令行中 gcc 表示我们是用 gcc 来编译我们的源程序,-o 选项表示我们要求编译器
给我们输出的可执行文件名为 hello 而 hello.c 是我们的源程序文件。
gcc 编译器有许多选项,一般来说我们只要知道其中的几个就够了。-o 选项我们已经知道
了,表示我们要求输出的可执行文件名。 -c 选项表示我们只要求编译器输出目标代码,而不必
要输出可执行文件。 -g 选项表示我们要求编译器在编译的时候提供我们以后对程序进行调
试的信息。
知道了这三个选项,我们就可以编译我们自己所写的简单的源程序了,如果你想要知道更
多的选项,可以查看 gcc 的帮助文档,那里有着许多对其它选项的详细说明。
2.Makefile 的编写
假设我们有下面这样的一个程序,源代码如下:
/* main.c */
#include "mytool1.h"
#include "mytool2.h"
int main(int argc,char **argv)
{
mytool1_print("hello");
mytool2_print("hello");
}
/* mytool1.h */
#ifndef _MYTOOL_1_H
#define _MYTOOL_1_H
void mytool1_print(char *print_str);
#endif
/* mytool1.c */