当前位置: 首页 > news >正文

美橙互联网站建设好不好php网站开发需求文档

美橙互联网站建设好不好,php网站开发需求文档,网站开发设计有限公司,网站推广百度优化Linux应用编程概念、文件IO、标准IO 学习任务#xff1a; 1、 学习Linux 应用开发概念#xff0c;什么是系统调用#xff0c;什么是库函数 2、 学习文件IO#xff1a;包括 read、write、open、close、lseek 3、 深入文件IO#xff1a;错误处理、exit 等 4、 学习标准IO 1、 学习Linux 应用开发概念什么是系统调用什么是库函数 2、 学习文件IO包括 read、write、open、close、lseek 3、 深入文件IO错误处理、exit 等 4、 学习标准IOFILE 指针、标准输入、标准输出、标准错误、fopen()、格式化 I/O 5、 使用的工具ubuntu虚拟机、开发板 了解Linux应用编程概念 学习文件IO函数等基础知识 学习标准IO函数等基础知识 /// 补充静态库 /动态库 程序中调用的库有两种 静态库和动态库不管是哪种库文件本质是还是源文件只不过是二进制格式只有计算机能够识别 项目中使用库一般有两个目的一个是为了使程序更加简洁不需要在项目中维护太多的源文件另一方面是为了源代码保密 拿到了库文件动态库、静态库之后要想使用还必须有这些库中提供的API函数的声明也就是头文件把这些都添加到项目中 ar rcs 静态库的名字(libxxx.a) 原文件(.o) gcc -shared 与位置无关的目标文件(.o) -o 动态库(libxxx.so) 实战再加强 1.1 Linux 应用开发概念 在 Linux 应用开发中主要是创建各种应用程序来满足不同的需求如网络应用、文件处理应用等。开发人员利用 Linux 系统提供的各种资源和接口来构建这些应用程序。 1.2 系统调用System Call 定义系统调用是操作系统提供给用户程序应用程序的一组接口它允许应用程序请求操作系统内核的服务。这些服务包括对硬件设备的访问、文件系统操作、进程管理等。 例如当应用程序想要读取一个文件时它不能直接访问磁盘硬件而是通过系统调用如read系统调用向内核发出请求内核再执行相应的硬件操作并将数据返回给应用程序。 特点 运行于内核态系统调用会导致用户程序从用户态切换到内核态。在用户态下应用程序只能访问自己的内存空间等受限资源而内核态下可以访问系统的所有资源如硬件设备、内核数据结构等。 安全性通过系统调用接口操作系统可以对应用程序的操作进行安全检查和权限验证。例如一个没有足够权限的应用程序不能直接访问某些受保护的文件或硬件设备。 提供基本功能系统调用提供了最基本的操作系统功能如创建进程fork系统调用、进程间通信如pipe系统调用、网络通信如socket系统调用等。 举例在 C 语言中open系统调用用于打开一个文件。其基本语法为int open(const char *pathname, int flags); 这里pathname是要打开的文件路径flags指定打开文件的方式如只读、只写、读写等。当应用程序调用open时实际上是向内核发送一个请求内核根据请求在文件系统中查找文件并根据权限等因素决定是否打开文件然后返回一个文件描述符给应用程序。 1.3 库函数Library Function 定义库函数是建立在系统调用之上的函数库它对系统调用进行了封装和扩展。这些函数库提供了更方便、更高级的编程接口使得应用程序开发更加容易。 例如C 标准库中的stdio.h库中的fopen函数它在内部可能会调用系统调用open来实现文件的打开操作但fopen提供了更易用的接口如可以直接使用字符串形式的文件名不需要像open那样进行一些底层的参数设置并且可以自动处理一些错误情况。 可移植性很多库函数是跨平台的例如 C 标准库函数。这使得应用程序可以在不同的操作系统只要支持该库上进行编译和运行而不需要针对每个操作系统的系统调用进行重写。 功能丰富库函数提供了比系统调用更丰富的功能。除了基本的文件操作、内存管理等功能外还可能包括数学计算如sin、cos等函数、字符串处理如strcpy、strcat等函数等各种功能 用户态执行库函数主要在用户态执行不需要频繁地进行用户态到内核态的切换除非在库函数内部调用了系统调用因此在一定程度上提高了执行效率。 举例 在 C 中iostream库中的cout对象用于输出信息到标准输出设备通常是控制台。它是一个库函数在内部会处理很多复杂的操作如缓冲区管理、格式化输出等这些操作可能会基于底层的系统调用如写入到标准输出文件描述符的系统调用但从应用程序开发者的角度来看使用cout比直接使用系统调用更加方便、直观。 2.1 文件IO 标准IO的相关函数fopen/fread/fwrite/fseek/fflush/fclose。 系统调用IO的相关函数open/read/write/lseek/fsync/close。 二者区别①系统调用IO函数每次操作都会进入内核。②标准IO函数引入了用户Buffer先访问一次内核将数据存入Buffer然后进行读写操作不会频繁访问内核。但其底层仍然使用系统调用IO函数。 标准IO的内部会分配一个用户空间的buffer读写操作先经过这个buffer。在有必要时才会调用底下的系统调用IO向内核发起操作。 所以标准IO效率更高但是要访问驱动程序时就不能使用标准IO而是使用系统调用IO。 /// 3.1 I/O中的错误处理 errno 变量 在 Linux 的文件 I/O 操作中errno是一个非常关键的全局变量。它被定义在errno.h头文件中。当系统调用如文件 I/O 相关的open、read、write、close、lseek等发生错误时操作系统内核会将一个表示特定错误的整数值赋给errno。 不同的错误码对应不同的情况。例如 EACCES13表示权限不足。这可能发生在试图以没有足够权限的方式打开文件时比如以写的方式打开一个只读文件或者用户没有执行某些操作如访问特定目录的权限。 ENOENT2表示文件或目录不存在。当调用open函数试图打开一个不存在的文件并且没有使用O_CREAT标志时就可能得到这个错误码。 EINVAL22表示无效的参数。例如如果在open函数中传递了一个无效的标志组合就可能导致这个错误码被设置。 在程序中使用errno时需要注意的是它的值只有在函数调用返回错误通常是返回 - 1时才有意义。而且由于errno是全局变量在多线程环境下可能会存在竞争条件需要谨慎处理。 perror 函数 perror函数的主要作用是将错误信息输出到标准错误输出stderr。它会首先输出传入的字符串参数然后输出一个冒号和一个空格接着输出与errno对应的错误信息。 例如如果有以下代码片段 #include stdio.h #include fcntl.h #include errno.hint main() {int fd open(nonexistent_file, O_RDONLY);if (fd -1) {perror(open);}return 0; }当open函数调用失败因为文件不存在时perror函数会输出类似 “open: No such file or directory” 的内容。这里 “open” 是传入perror的字符串后面是对应errnoENOENT的错误信息。 在文件 I/O 中的应用场景在每个文件 I/O 操作之后都应该检查返回值是否为 - 1如果是则调用perror函数来输出错误信息。这有助于在程序开发和调试过程中快速定位问题。例如在write操作中如果返回 - 1可以使用perror来确定是磁盘空间不足ENOSPC还是其他权限或设备相关的问题。 exit 函数在文件 I/O 中的应用 功能exit函数用于立即终止当前进程的执行。它会执行一些清理操作如刷新标准 I/O 缓冲区然后将控制权返回给操作系统。 当在文件 I/O 操作中发生严重错误导致程序无法继续正常运行时使用exit函数是一种合适的方式来停止程序。例如如果一个程序依赖于某个配置文件的正确读取而在打开或读取这个配置文件时发生了不可恢复的错误继续执行程序可能没有意义此时可以调用exit。 /// 嵌入式Linux应用开发基础知识 Linux打工仔
http://www.hkea.cn/news/14520345/

相关文章:

  • 汕头手机模板建站网站开发的职业技术方面
  • 电子商务网站建设项目书建设网站实训心得体会
  • 网站建设公司天津网站找百度做可以嘛
  • 做网站 就上微赞网临沂网站制作公司6
  • 网站建设是什么意思 打不开公司网站应该怎么做
  • 建网站和建小程序多少钱wordpress原图对比插件
  • rtt全民互助平台网站开发高端网站建设免费分析
  • 网站域名空间5个G的多少钱创意品牌型网站
  • 体育类网站开发网站建设感恩
  • 牛商网专注营销型网站建设杭州富阳网站建设
  • 用服务器做网站需要购买域名吗对于新公司如何让其做网站推广
  • 领诺科技网站建设wordpress经常卡顿
  • 建设网站的合同丽水建设厅网站
  • 昌平网站制作网站的修改
  • 医疗器械类网站前置审批材料模板昆明企业网站的建设
  • 房地产门户网站建设宁波全网营销型网站建设
  • 美食网站建设的背景什么浏览器可以进黄页zol问答
  • 大连网站建设酷网wordpress 应用商店
  • 网站工程是干啥的自助建站在线快速建站
  • 建网站 发信息 做推广动易网站内容管理系统
  • 网站开发费用多少51ppt模板免费下载网站
  • 做个人网站怎么做网站建设技术包括哪些内容
  • 企业网站seo推广流量网站应该怎么做
  • 局域网多网站建设如何建设网站济南兴田德润简介电话
  • 制作外贸型网站怎么用外网校内网站做英语
  • 珠海做网站找哪家公司网站建设前景展望
  • 网站 例全球电商平台排名
  • 山东高端网站设计h5模板是什么
  • 网站开发方案模板开发一套系统需要多少钱
  • 顺德品牌网站建设信息常德公交网站