admin 管理员组文章数量: 1184232
2024年3月9日发(作者:网络安全编程技术)
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程序文件,默认编译后的文件名为
#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
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
标准的C++头文件:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include //STL线性列表容器
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
普通的一个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);
}
int parseCommand(char *Line,struct command *cmd)
{
int argc ;
char **Cline;
Cline = &Line;
argc = 0 ;
cmd->argv[argc] = (char*)malloc(16);
while((cmd->argv[argc] = (char*)strsep(Cline,WHITESPACE)) != NULL)
{
cmd->argv[++argc] = (char*)malloc(16);
}
cmd->argc = argc-1;
cmd->name = (char*)malloc(sizeof(cmd->argv[0]));
strcpy(cmd->name,cmd->argv[0]);
}
int main()
{
Command cmd;
char buffer[20];
int i;
printUser();
fgets(buffer,20,stdin);
parseCommand(buffer,&cmd);
printf("%sn",);
for (i=1; i<; i++)
{
printf("%sn", [i]);
}
return 0;
}
参考学习站点:
/develop/c&c++/linux_c/
/ylinuxs/blog/item/
/playlist_show/id_?page=1&mode=pic&ascending=1
Ubuntu下C/C++ IDE开发环境的搭建:
/ylinuxs/blog/item/
Linux下C编程百度文库:/view/
版权声明:本文标题:linux c编程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1709968179a551565.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论