嵌入式网络编程Linux_C(概述、IO编程)

linux_C网络编程概述

嵌入式网络编程==嵌入式Linux_C系统编程

(文件、进程、进程间通信、多线程、网络、大并发网络服务器、数据库、shell编程)

1、嵌入式C开发 VS 嵌入式Linux_C:使用Linux操作系统提供的功能
2、Linux操作系统的组成:用户和内核空间
——为何将Linux操作系统划分为用户和内核?
保护内核不轻易被用户访问。
——用户如何访问内核空间?
系统调用、硬件中断、软件中断
3、什么是系统调用?
用户通过调用操作系统提供的函数来访问内核的数据或者获取服务。
——API:用户编程接口==操作系统提供的可调用函数
4、用户如何发生系统调用?
——调用系统提供的API
5、如何学习嵌入式网络编程?
——写代码(记函数原型,函数名、函数形参、函函数返回值)
——测试demo(API接口的功能,测试函数形参和返回值作用)
—— 写案例

一、嵌入式Linux IO编程

1、什么是IO编程?
——文件编程IO==文件,Linux一切皆为文件;硬件设备也被抽象为文件
2、Linux为什么将所有资源抽象为文件?
——文件的管理方式简单
3、什么是文件描述符?特点是什么?类型是什么?特殊的文件描述符?
——文件描述符是文件ID
——特点是:动态分配,只有当操作该文件时,系统才会给它分配一个文件ID,注意文件id有范围。
——文件描述符的类型是:unsigned int
——特殊的文件描述符:0(stdin标准输入)、1(stdout标准输出)、2(stderr标准出错)
注意:用户创建的文件,文件描述符从3开始

4、库函数:可以跨平台使用
——fopen、fwrite、fread、fclose、flseek等
5、API:Linux系统提供的函数,只能在Linux平台上使用
——creat、write、read、close、lseek、open、fcntl、ioctl、dup、dup2、mmap等

接下来,来看一下linux API关于文件的基本操作

在写函数demo时,可以通过man手册来查看函数原型,函数返回值等信息

举例说明:在终端输入命令 man 2 open
在这里插入图片描述

1、creat函数
在这里插入图片描述
2、open函数
在这里插入图片描述
3、write函数
在这里插入图片描述
4、read函数
在这里插入图片描述

在标准库函数中,文件操作的使用

1、fopen
在这里插入图片描述
2、fwrite
在这里插入图片描述
3、fread
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值