摘要:
IP地址转换函数:inet_aton, inet_nota, inet_addr和inet_pton, inet_ntop C中提供的点分十进制IP字符串与整数(二进制)表示的转化可以根据是否支持IPV6分为两类,第一类是仅支持IPV4的,包括,inet_aton,inet_nota,inet_ 阅读全文
摘要:
每日一问15:C++中的.h,cpp以及.hpp文件 1. 编译器角度的头文件(.h)和源文件(.cpp) 先从编译器角度,来看一下头文件(.h)和源文件(.cpp): 对于头文件(.h),在预处理阶段,头文件被包含到源文件后,它的使命就基本结束了。头文件包含了程序运行中可能需要用到的变量和函数等的 阅读全文
摘要:
每日一问14: 缓存和缓冲的区别 这两个名词在英文中,本来是不会混淆的,缓冲buffer,缓存cache,但是翻译成中文后却很容易搞混,要注意区分。 这两个概念并不是指泾渭分明的两个东西,而是不同角度的事物。先看一下***《深入理解计算机系统》***中对于缓存的定义: 一般而言,高速缓存 阅读全文
摘要:
指向const常量的指针可以修改常量的值 实例 先直接看代码: int main(int argc, char const* argv[])c { const int a = 100; const int* pa = &a; int* pa_1 = &a; //*pa = 3; // 编译不过,指针 阅读全文
摘要:
STL各容器的底层实现及其优缺点 序列式容器 序列式容器,即以线性排列(类似普通数组的存储方式)来存储某一指定类型(例如 int、double 等)的数据,需要特殊说明的是,该类容器并不会自动对存储的元素按照值的大小进行排序。C++本身提供了array序列式容器,也就是普通的数组。 1.vect 阅读全文
摘要:
关于Nagle算法和粘包问题 1.Nagle算法 TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。(一个连接会设置MSS参数,因此,TCP/IP希望每次都能够以MS 阅读全文
摘要:
C++中static关键字的作用 1.隐藏 在同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。如果加了static,就会对其它源文件隐藏。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。static可以用作函数和变量的前缀,对于函数来讲,s 阅读全文
摘要:
9.1简要描述三种类型的处理器调度。 长程调度:决定加入待执行进程池。 中称调度:决定加入部分或全部位于内存中的进程集合。 短程调度: 决定可用I/O设备处理哪个进程挂起的I/O请求。 9.2在交互式操作系统中,通常最重要的性能要求是什么? 响应时间 9.3 周转时间和响应时间有何区别? 周 阅读全文
摘要:
8.操作系统--精髓与设计原理(第八版)第八章复习题答案 8.1 简单分页与虚拟内存分页有何区别? 进程运行时,简单分页的所有页必须都在内存中,除非使用了覆盖技术,虚存分页并非所有页都须在内存页框中,仅在需要时才读入页,把一页读入内存可能需要把另一页写出到磁盘。 8.2 什么是抖动? 当操作 阅读全文
摘要:
操作系统--精髓与设计原理(第八版)第七章复习题答案 7.1内存管理需要满足哪些需求? 重定位 保护 共享 逻辑组织 物理组织 7.2为何需要重定位进程的能力? 在多道程序设计系统中,可用的内存空间通常被多个进程共享。通常情况下,程序员事先并不知道在某个程序执行期间会有其他哪些程序驻留在内存中。此外 阅读全文