linu的x操作系统下c语言编程入门.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux操作系统下 C语言编程入门 Linux操作系统简介 基础知识 进程介绍 文件操作 时间概念 消息管理 线程操作 网络编程 Linux下C开发工具介绍 一.Linux操作系统简介 发展历史 1969年,Ken Thompson ,UNIX MINIX 1991年,芬兰赫尔辛基大学 LINUS 现状和前景 大型计算机系统、PC、手持电脑 主要特点 多用户、多任务、稳定性、安全性、开放性、网络功能 应用领域 Internet(WEB、FTP、邮件、DNS服务器,TCP/IP路由、防火墙)、LAN、嵌入式系统、办公桌面 发行版本 RedHat、Debian、红旗 二.基础知识 源程序的编译 gcc 编译器 g++ 编译器 例:gcc -o hello hello.c g++ -g -o hello.o hello.cpp 编写makefile文件 对某个Project编译时,需要编写makefile文件。 一般的格式是: Target : components (依赖关系) TAB rule (规则) makefile 有三个非常有用的变量,分别是:$@、$^ 、$ $@ — 代表目标文件 $^ — 代表所有的依赖文件 $ — 代表第一个依赖文件的名称 Makefile实例: #This is the makefile CC = g++ CFLAG = -Wall -O plcMain: src/main.cpp obj/com.o obj/msgware.o obj/process.o obj/rtu.o obj/lmasrtu.o obj/schedule.o obj/rs232.o obj/linkcheck.o obj/msgqueue.o obj/ping.o obj/pid.o obj/paramfile.o $(CC) $(CFLAG) -lpthread -o $@ src/main.cpp obj/com.o obj/msgware.o obj/process.o obj/rtu.o obj/lmasrtu.o obj/schedule.o obj/rs232.o obj/linkcheck.o obj/msgqueue.o obj/ping.o obj/pid.o obj/paramfile.o? obj/com.o:src/Communication.cpp $(CC) $(CFLAG) -c -o $@ $ …… obj/msgware.o:src/MsgWare.cpp $(CC) $(CFLAG) -c -o $@ $ clean: rm -fr *.o 程序的调试 打印调试 GDB调试 头文件和系统求助 man 例:man write man 2 write “2”表示我们用的write函数是系统调用函数 “3”表示函数是C的库函数 三.进程介绍 进程的概念 程序和进程 程序是一个包含可以执行代码的文件,是一个静态的文件;而进程是一个开始执行但是还没有结束的程序的实例,就是可执行文件的具体实现。当程序被系统调用到内存以后,系统会给程序分配一定的资源(内存、设备等等),然后进行一系列的复杂操作,使程序变成进程以供系统调用。 进程的状态 新建、运行、阻塞、就绪和完成 进程的标志 为了区分各个不同的进程,系统给每一个进程分配了一个ID。 系统调用getpid函数可以得到进程的ID,而调用getppid函数可以得到父进程(创建调用该函数进程的进程)的ID。getuid可以得到进程所有者的ID,getgid可以得到组ID。 进程的创建 调用fork函数就可以创建一个进程的系统调用。 pid_t fork(); 四.文件操作 文件的创建和读写 int open(const char *pathname,int flags); int open(const char *pathname,int flags,mode_t mode); open函数有两个形式。其中pathname是我们要打开的文件名(包含路径名称,缺省是认为在当前路径下面);flags 可以是下面的一个值或者是几个值的组合: O_RDONLY、O_WRONLY、O_RDWR、 O_CREAT、 O_APPEND(追加)、O_TRUNC(如果文件已经存在,则删除文件的内容)、O_NOBLOCK(非阻塞方式) *前面三个标志只能使用任意的一个 *如果使用了O_CREATE标志,那么我们可以使用open的第二种形式。还要指定mode 标志,用来表示文件的访问权限。mode 可以是以下情况的组合: -----

文档评论(0)

xiaofei2001127 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档