![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux 高并发服务器
文章平均质量分 94
牛客网项目笔记
许菠萝
不当牛马
展开
-
8.网络编程
1.字节序代码保存在 lesson31 byteorder.c2.代码(1) 定义一个联合变量union{ short value; char bytes[sizeof(short)]; // 将 short 转换为 byte 的容器 }test;(2)定义一个 short 类型的变量test.value = 0x0102; // 定义一个包含两个字节的 value ;01 是一个字节,02 是一个字节(3)将两个字节保存在 char 容器中判断系统是原创 2022-02-10 19:35:34 · 707 阅读 · 0 评论 -
7.GDB与文件IO
1.GDB什么是 GDB 调试1.1 GDB 准备工作gdb 是一个 shell 指令,必须带有 -g 的参数,程序才将调试信息添加到文件中g++ -g a.cpp -o a.out // 先为文件添加调试信息打开所有的 warning 选项g++ -g -Wall main.cpp -o main如果文件与文件之间有引用如何编译:g++ -g 1.cpp 2.cpp -o main 开始调试gdb a.out // gdb + 可执行程序-g 的作用是在可执行文件中加入源码原创 2022-02-10 19:35:08 · 793 阅读 · 0 评论 -
6.线程相关
1.线程1.1 线程的基本概念1.1.1 线程的定义1.线程的基本概念线程概念(process):线程是进程的⼀个实体,也是 CPU 调度和分派的基本单位,它是⽐进程更⼩的能独⽴运⾏的基本单位,是一种轻量级的进程。同一程序中的所有线程会独立的执行相同的程序,共享一份内存区域(数据段,未初始化的数据段,堆内存段)。2.Linux 指令查看当前线程查看某个进程开启的所有线程ps -Lf pid [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ANK2MIVW-1原创 2022-02-10 19:34:24 · 311 阅读 · 0 评论 -
5.进程相关3
10.共享内存10.1 基本概念这种进程之前通信的速度更快,因为是直接操作内存,内核的参与度更少。 如果是管道:先将要传输的数据从管道中拷贝到内核区,然后内核1将内核中的数据发送给内核2。内核2再将数据拷贝到进程2的用户区中所以处理速度比较慢。并且可以实现多个进程之间的内存共享10.2 共享内存调用步骤1.创建共享内存并获得标识符2.将这块共享内存添加到调用进程的虚拟内存中3.得到这个共享内存在虚拟内存中的起始位置////// 开始使用共享内存,直到使用完毕4.将共享内存与进程原创 2022-02-10 19:33:55 · 319 阅读 · 0 评论 -
4.进程相关2
8.内存映射8.1 内存映射相关定义创建一个文件,将保存在磁盘中的文件映射到内存中,后期两个进程之间对内存中的数据进行操作,大大减少了访问磁盘的时间,也是一种最快的 IPC ,因为进程之间可以直接对内存进行存取8.2 内存映射相关的系统调用代码地址:lesson258.2.1 mmap & munmap 函数–内存的映射与释放1.APImmap : 将一个文件映射到内存中这个函数返回的是内存映射出来的内存首地址munmap : 解除一个文件和内存的映射内存映射和管道不一样,原创 2022-02-10 19:32:31 · 311 阅读 · 0 评论 -
3.进程相关
1.关于进程和程序的相关定义1.1 程序的相关定义程序通俗来讲就是我们的源代码文件,然后里面还包含了其他的文件信息程序入口地址:也就是 main 函数的位置1.2 进程的相关定义进程需要资源:CPU ,内存进程是一个抽象定义:它是一系列资源的集合,并不像程序是真真正正存在的1.3 单道多道程序设计 需要注意:一个 CPU 一次只能执行一个程序,只不过因为CPU 切换进程时的速度非常快所以我们会以为它执行了多个程序1.4 时间片进程调度策略及算法6 种进程调度算法先来先服原创 2022-02-10 19:31:41 · 788 阅读 · 0 评论 -
2.Makefile
1.Makefile1.1 什么是 Makefile一个工程中有很多文件,文件之间都是相辅相成有着编译的先后顺序,但是如果自己手动根据编译顺序编译文件造成速度非常慢。Makefile 是”自动化编译“,只需一个 make 指令系统就会根据编译顺序帮自己编译文件1.2 Makefile 文件命名规则1.3 代码演示1.生成一个 Makefile 文件vim Makefile2.将执行规则书写入 Makefile3.使用 make 编译 Makefile 文件sudo apt insta原创 2022-02-10 18:32:16 · 1231 阅读 · 0 评论 -
1.编译过程与动态库静态库的实现
文章目录1.Linux 如何安装 C++ 编译环境2.编程语言的发展2.1 编程语言的发展2.2 GCC 工作流程2.3 gcc 编译选项代码演示2.库的制作2.1 如何生成静态库2.1.1 书写相关函数2.1.1 静态库的命名规则2.1.2 静态库的制作2.2 动态库的制作2.2.1 文件命名规则2.2.2 动态库的制作2.2.3 如何让程序找到共享库2.2.4 在环境变量中声明动态库2.2.5 在文件列表中添加 PATH2.3 动态库和静态库的区别2.3.1 制作流程上的差别2.3.2 静态库的优缺点原创 2022-02-10 18:30:34 · 850 阅读 · 0 评论