![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux应用
PerseverancePrevails
这个作者很懒,什么都没留下…
展开
-
标准I/O与文件I/O
在应用开发中,经常要访问文件,Linux 下的文件读写方式分为两大类:标准 I/O 和 文件 I/O,下面分别介绍下两种 I/O 的相关操作,并比较下两种 I/O 的特点。一、标准I/O标准I/O库接口由ANSI C标准定义,标准IO函数提供了一种对不用缓冲IO函数的带缓冲的接口。不仅在UNIX系统,在很多操作系统上都实现了标准I/O库,标准I/O库处理很多细节,如缓存分配、以优化长度执行I/O等,这样使用户不必关心如何选择合适的块长度。标准I/O在系统调用基础上构造的,它便于用户使用。标准I/O有转载 2020-08-20 21:42:02 · 305 阅读 · 0 评论 -
用户和内核存(cache)区 缓冲(cache)和缓存(buffer)的区别
用户进程缓存区 用户进程通过系统调用访问系统资源的时候,需要切换到内核态,而这对应一些特殊的堆栈和内存环境,必须在系统调用前建立好。而在系统调用结束后,cpu会从核心模式切回到用户模式,而堆栈又必须恢复成用户进程的上下文。而这种切换就会有大量的耗时。 你看一些程序在读取文件时,会先申请一块内存数组,称为buffer,然后每次调用read,读取设定字节长度的数据,写入buffer。(用较小的次数填满buffer)。之后的程序都是从buffer中获取数据,当buffer使用完后...原创 2020-08-20 20:51:40 · 1889 阅读 · 0 评论 -
fopen与open的区别
fopen与open的区别open和fopen的区别:1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,执行速度就快、效率高。一般来说,文件“缓冲区”的大小随机器 而定转载 2020-08-20 20:27:50 · 249 阅读 · 0 评论 -
通用的Makefile
1.Linux网络栈下两层实现1.1简介 VLAN是网络栈的一个附加功能,且位于下两层。首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去。下两层涉及到具体的硬件设备,日趋完善的Linux内核已经做到了很好的代码隔离,对网络设备驱动也是如此,如下图所示:这里要注意的是,Linux下的网络设备net_dev并不一定都对应实际的硬件设备,只要注册一个s...转载 2020-01-04 10:19:25 · 184 阅读 · 0 评论 -
Ubuntu 配置交叉环境编译环境-嵌入式
安装了两次交叉编译环境变量了,记录下,如下为亲自测试。1 、下载arm-linux-gcc ,下面网址分享两个gcc版本 4.4.3 和 4.3.2以4.3.2版本为例,4.4.3.操作一样。https://pan.baidu.com/s/16-8MUM0gQJEMjRDjW8xYQg2、解压文件$tar xjf arm-linux-gcc-4.3.2.tar.bz23、修改环境变量...原创 2018-10-21 15:27:51 · 268 阅读 · 0 评论 -
在移植boa服务器的过程中出现boa:not found问题以及移植cgic库编译时出现arm-linux-gcc-g命令未找到错误
1、嵌入式web服务器移植的过程在网上很多资源的,我在这就不再赘述了,我就简单说下一个对于新手来说很头疼的问题!!移植boa服务器的时候,所有的编译工作以及移植工作全部做完了,就差最后启动boa服务器了,就在这时,让我倒腾了好几天的一个错误:-sh: ./boa: not found。有些网友在网上也有解决的方法,就是修改Makefile中的LDFLAGS = -g改为LDFLAGS = ...原创 2018-10-23 23:13:36 · 717 阅读 · 2 评论 -
boa服务器出现502 Bad Gateway The CGI was not CGI/1.1 compliant错误
当我们把boa服务器移植完毕后,很开心的测试下cgi的测试程序(boa中自带的例子,一般先运行boa自带的例子,防止后面出现错误不知道是哪的错误),但是出现如下错误:boa服务器出现502 Bad GatewayThe CGI was not CGI/1.1 compliant错误解决方法:将boa自带的测试程序cgictest.cgi和capature全部设为可读可写执行以下命令:$...原创 2018-10-24 09:37:13 · 1493 阅读 · 0 评论 -
编译linux内核时出现"mkimage" command not found - U-Boot images will not be built错误
“mkimage” command not found - U-Boot images will not be built/home/jtong/Desktop/linux-3/linux-3.4.2/arch/arm/boot/Makefile:89: recipe for target ‘arch/arm/boot/uImage’ failedmake[1]: *** [arch/arm/...原创 2018-10-26 22:41:17 · 291 阅读 · 0 评论 -
TCP/UDP Linux网络编程详解
TCP/UDP Linux网络编程详解本文主要记录TCP/UDP网络编程的基础知识,采用TCP/UDP实现宿主机和目标机之间的网络通信。内容目录1. 目标2.Linux网络编程基础2.1 嵌套字2.2 端口2.3 网络地址2.3.1 网络地址的格式2.3.2 网络地址的转换2.4 字节序3.TCP3.1 TCP流程图3.2 TCP步骤分析3....转载 2018-11-23 23:29:05 · 602 阅读 · 0 评论