linux c编程引言
linux的是一操作系统,其本质是一系列的任务调度,内存管理,虚拟文件系统等算法的集合.它告诉你的计算机怎
么充分利用你机器上的资源.linux内核的源代码是用C语言写的(源代码也见于).C语言是一门编
程语言,其本质是把一些C语言关键词描述的算法转换为计算机可以直接运行的二进制机器语言的整体.想把C语
言写成的代码编译成二进制机器语言要使用C编译器(C compiler),C编译器是一个软件,它可以把C语言写成的代
码转换成机器可以执行的二进制文件. 世界上有多款这样的软件,如gcc. linux内核及linux环境下可用的所有
软件都是用gcc编译的.
简而言之,linux是一个操作系统,是一个各种应用程序工作的环境. linux的内核,即这个操作系统的核心代码,
是用c语言编写,并用gcc编译的. linux内核是一套描述系统工作方式的算法,C语言是其实现途径. C语言也可以
用来编译其它的代码。
Linux是目前非常流行的一款操作系统,而C语言是Linux操作系统中的核心语言,掌握Linux环境下的C语言开发
有着非常重要的意义。我们在linux下做任何事都离不开C。现在也越来越流行unix/linux下的c编程。
Linux系统下C语言及其编程环境
Linux系统下C语言及其编程环境的介绍,系统编程的所有主题——文件和目录、进程、线程、信号、进程间通
信、网络编程和图形界面编程、出错处理、库的创建与使用、编写安全的代码、数据结构、相关工具集、应用
程序开发等。
linux C编译器的选择
      在Linux平台下,可用任意(默认VI)一个文本编辑工具编辑源代码,但笔者建议使用emacs软件,它具备
语法高亮、版本控制等附带功能。
GCC编译器
   
linux C下面gcc编译器的操作
GCC是Linux平台下最重要的开发工具,它是GNU的C和C++编译器,其基本用法为:
gcc [options] [filenames]
options为编译选项,GCC总共提供的编译选项超过100个,但只有少数几个会被频繁使用,我们仅对几个常用选
项进行介绍。
如:
#gcc -g test.c 表示将test.c编译成可以执行的c程序文件,默认编译后的文件名为a.out
#gcc -o test test.c 添加了-O的参数表示将test.c编译并重命令为test,这样就不会跟直默认的文件名混乱
例如编译一输出很普通同时也很经典的“Hello World”的程序:
先在目录下建立相应的文件helloworld,用VI或其它的编译器打开这个文件,往里面输入想要执行的程序。
#include "stdio.h"
int main(){
printf("hello world!");
}
完成之后,按下ESC按输入:wq!回车,接下来进行编译
#gcc -o helloworld helloword.c这里表示将我们的helloworld文件进行编译为helloworld.c这个文件,接下
来我们输入./helloworld.c就可以得到我们的想的程序结果输出helloworld。
linux下gcc中文件后缀说明:
1、以.c为后缀的文件,是C语言源代码文件
2、以.a为后缀的文件,是由目标文件构成的档案库文件
3、以.C、.cc或.cxx为后缀的文件,是C++源代码文件
4、以.h为后缀的文件,是程序所包含的头文件
5、以.i为后缀的文件,是已经预处理的C源代码文件
6、以.ii为后缀的文件,是已经预处理的C++源代码文件
7、以.m为后缀的文件,是Objective-C源代码文件
8、以.o为后缀的文件,是编译后的目标文件
9、以.s为后缀的文件,是汇编语言源代码文件
10、以.S为后缀的文件,是经过预编译的汇编语言源代码文件
C程序、传统C++常用的头文件:
#include <assert.h>          //设定插入点
#include <stype.h>              //字符处理
#include <errno.h>              //定义错误码
#include <float.h>                //浮点数处理
#include <fstream.h>          //文件输入/输出
#include <iomanip.h>            //参数化输入/输出
#include <iostream.h>          //数据流输入/输出
#include <limits.h>                //定义各种数据类型最值常量
#include <locale.h>              //定义本地化函数
#include <math.h>                //定义数学函数
#include <stdio.h>              //定义输入/输出函数
#include <stdlib.h>                //定义杂项函数及内存分配函数
#include <string.h>              //字符串处理
#include <strstrea.h>          //基于数组的输入/输出
#include <time.h>                //定义关于时间的函数
#include <wchar.h>            //宽字符处理及输入/输出
#include <wctype.h>          //宽字符分类
标准的C++头文件:
#include <algorithm>          //STL通用算法
#include <bitset>                  //STL位集容器
#include <cstype>              //字符处理
#include <cerrno>              //定义错误码
#include <complex>            //复数类
#include <clocale>            //定义本地化函数
#include <cmath>                //定义数学函数
#include <cstdio>              //定义输入/输出函数
#include <cstdlib>            //定义杂项函数及内存分配函数
#include <cstring>              //字符串处理
目前流行的编程语言#include <ctime>                  //定义关于时间的函数
#include <deque>              //STL双端队列容器
#include <exception>          //异常处理类
#include <fstream>            //文件输入/输出
#include <functional>          //STL定义运算函数(代替运算符)
#include <limits>                //定义各种数据类型最值常量
#include <list>                      //STL线性列表容器
#include <map>                      //STL映射容器
#include <iomanip>                //参数化输入/输出
#include <ios>                        //基本输入/输出支持
#include <iosfwd>                    //输入/输出系统使用的前置声明
#include <iostream>            //数据流输入/输出
#include <istream>                  //基本输入流
#include <ostream>                //基本输出流
#include <queue>                    //STL队列容器
#include <set>                      //STL集合容器
#include <sstream>                //基于字符串的流
#include <stack>                  //STL堆栈容器
#include <stdexcept>            //标准异常类
#include <streambuf>          //底层输入/输出支持
#include <string>                  //字符串类
#include <utility>                //STL通用模板类
#include <vector>              //STL动态数组容器
#include <cwchar.h>          //宽字符处理及输入/输出
#include <cwctype.h>        //宽字符分类
普通的一个linux C程序代码:
#include "fcntl.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#define WHITESPACE " "
typedef struct command
{
  char *name;
  int argc;
  char *argv[64];
}Command;
void printUser()
{
  char *promoteString = "KimMin$:";
  printf("%s",promoteString);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。