- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 可以是以下情况的组合: -----
您可能关注的文档
- §1.5的极限运算法则课件.ppt
- §4.5的 一阶常系数线性微分方程组解法举例.ppt
- §7.6的高阶线性微分方程.ppt
- §12.的5牛顿第一定律教学设计(人教版9年级物理).doc
- ★★高考的精品之高中生物必修一分子与细胞_知识点总结.doc
- ★★信管的系2012届毕业设计09电商网络营销1班何越09220810115.doc
- Ⅳ期临床的试验的设计.ppt
- Intr的oduction of ICT curriculum.ppt
- Intr的oduction to Art.ppt
- Intr的oduction To IE Chapter10 Financial Management and Engineering Economy.ppt
- 《JJF 2132-2024荧光紫外灯人工气候老化试验装置校准规范:辐射照度参数》.pdf
- JJF 2120-2024轮速传感器校准规范.pdf
- 计量规程规范 JJF 2120-2024轮速传感器校准规范.pdf
- 《JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数》.pdf
- JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数.pdf
- 《JJF 2120-2024轮速传感器校准规范》.pdf
- JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
- JJF 2116-2024特定蛋白分析仪校准规范.pdf
- 《JJF 2116-2024特定蛋白分析仪校准规范》.pdf
- 计量规程规范 JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
文档评论(0)