首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux C语言高级编程之网络编程

简介 本章主要讲解网络编程的基础知识,主要包括七层网络模型、常用通信协议、IP地址与子网掩码及端口号、字节序。 七层网络模型 讲到网络首先说一下最常见的网络模型,七层网络模型。...子网掩码:主要用于划分IP地址中的网络地址和主机地址,也可以判断两个IP地址是否在同一个局域网中,具体的划分方法如下: IP地址 & 子网掩码 => 网络地址 + 主机地址 网络编程中需要提供...地址可以定位到具体的某一台主机; 端口号:知道端口号可以定位到主机上的某一个具体的进程; 端口号本质就是unsigned short类型,范围是:0 ~ 65535,但是其中0 ~ 1024之间的端口号被系统占用,因此以后编程时建议从...将低位字节的数据存放在高位内存地址的系统; 小端系统中按照地址从小到大依次为:0x78 0x56 0x34 0x12 大端系统中按照地址从小到大依次为:0x12 0x34 0x56 0x78 一般来说,在网络编程中需要将所有发送到网络中的多字节整数先转换为网络字节序再发送...总结:以上概念都是网络编程中最常见最基础的知识点,这些都需要大家掌握。另预告一下,下一章将讲解非常重要的SOCKET网络编程,希望大家多多关注。

5.3K90

高级编程Linux read系统调用

比如 fork、clone、execve、exit等 那为什么一定要用系统调用来访问操作系统的内容呢,其实这可以看做对内核的保护,linux分为用户空间和内核空间,而用户空间是不允许访问内核空间的数据的...引入 cache 层的目的是为了提高 linux 操作系统对磁盘访问的性能。 Cache 层在内存中缓存了磁盘上的部分数据。...Linux内核中文件预读算法的具体过程是这样的:对于每个文件的第一个读请求,系统读入所请求的页面并读入紧随其后的少数几个页面(不少于一 个页面,通常是三个页面),这时的预读称为同步预读。...另外linux页高速缓存对被缓存页的范围定义的非常宽。缓存的目标是任何基于页的对象,这包含各种类型的文件和各种类型的内存映射。...为了满足普遍性要求,linux使用定义在linux/fs.h中的结构体address_space结构体描述页高速缓存中的页面。

5.9K110

【读书笔记linux编程艺术

或者如,极限编程大师 Kent Beck所说,先求运行,再求正确,最后求快。 不要一味的去考虑那些蝇头小利的所谓效率提升,尽量不要去过早优化,是一切万恶之根源。...项目 1986年 发明patch的larry wall开始开发Perl语言 一开始unix系统被AT&T SUN IBM掌控,一份源码许可证要4万美元 1991年 linus torvalds 宣布了linux...黑客的起源和历史:1961-1995 从社会性而言,他们年轻,天资过人,几乎全是男性,献身编程达到痴迷的地步,决不墨守成规--后来被人们唤作“极客(geek)”。...1995年,linux找到了自己的杀手级应用----开源的web服务器Apache 用自由软件是因为它运行得更好,而不是说“用自由软件是因为所有软件都该是自由的” “开源”明显要用一个意识形态中性的公众标签来取代

86990

JS与ES6高级编程学习笔记(三)——JavaScript面向对象编程

(Object-oriented programming,缩写:OOP)是用抽象方式构建基于现实世界模型的一种编程模式,JavaScript是一种基于对象(object-based)的语言,支持面向对象编程与函数式编程...本章主要让讲解JavaScript中对象、原型与函数间的关系及面向对象编程相关内容。...2.1、创建对象 JavaScript中有大量的内置对象,为开发提供了方便,但面向对象编程我们需要将现实世界抽象成自定义的对象,这里介绍多种对象的创建方式。...四、封装 封装(encapsulation)是面向对象编程的重要特性之一,能隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。...五、继承 继承(inherit)是面向对象编程的一个重要特性,继承能提高复用性,一般通过接口继承或实现继承,JavaScript无接口也无接口继承但可以通过原型实现继承。

69930
领券