![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
givemefive_001
这个作者很懒,什么都没留下…
展开
-
linux下gdb调试方法与技巧整理
目录一、gdb简介 二、gdb使用流程 1、启动gdb 2、查看源码 3、运行程序 4、设置断点 5、单步执行 6、查看变量 7、退出gdb 三、gdb基本使用命令 1、运行命令 2、设置断点 3、查看源码 4、打印表达式 5、查看运行信息 6、分割窗口 7、cgdb强大工具 四、总结一、gdb简介GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。 对于一名Li.转载 2020-10-06 14:22:50 · 1532 阅读 · 0 评论 -
内存映射原理
首先说说这篇文章要解决什么问题?1.虚拟内存与内存映射文件的区别与联系.2.内存映射文件的原理.3.内存映射文件的效率.4.传统IO和内存映射效率对比.虚拟内存与内存映射文件的区别与联系 二者的联系虚拟内存和内存映射文件都是将一部分内容加载到,另一部分放在磁盘上的一种机制,二者都是应用程序动态性的基础,由于二者的虚拟性,对于用户都是透明的.虚拟内存其实就是硬盘的一部分,是计算机RAM与硬盘的数据交换区,因为实际的物理内存可能远小于进程的地址空间,这就需要把内存中暂时不用到...转载 2020-09-11 08:26:27 · 772 阅读 · 0 评论 -
Linux进程与线程的区别
进程与线程的区别,早已经成为了经典问题。自线程概念诞生起,关于这个问题的讨论就没有停止过。无论是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了。一般程序员而言,搞清楚二者的概念,在工作实际中去运用成为了焦点。而资深工程师则在考虑系统层面如何实现两种技术及其各自的性能和实现代价。以至于到今天,Linux内核还在持续更新完善(关于进程和线程的实现模块也是内核完善的任务之一)。本文将以一个从事Linux平台系统开发的程序员角度描述这个经典问题。本文素材全部来源于工作实践经验与知识规整,若转载 2020-06-02 17:16:33 · 212 阅读 · 0 评论 -
Epoll原理详解
从事服务端开发,少不了要接触网络编程。Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,Nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。Epoll 很重要,但是 Epoll 与 Select 的区别是什么呢?Epoll 高效的原因是什么?网上虽然也有不少讲解 Epoll 的文章,但要么是过于浅显,或者陷入源码解析,很少能有通俗易懂的。笔者于是决定编写此文,让缺乏专业背景知识的读者也能够明白 Epoll 的原理。本文核心思想是:要让读者清晰明白转载 2020-05-26 21:03:23 · 471 阅读 · 1 评论 -
Linux select、poll、epoll是什么意思?
流:一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。read:从流中读取数据;write:往流中写入数据;阻塞:一直等待任务,有任务到来会被唤醒;非阻塞忙轮询:一遍又一遍地询问有没有任务;缓冲区:先把要获取或者写入的数据缓存起来,等到何时的时机再进行io操作。为什么要使用缓冲区呢?首先看一下图:例如从磁盘中读取一个文件的内容,用户态从内核态取数据,需要在用户态和内核态之间切换,会比较耗性能,写入数据也是如此,因此缓冲区可以减少用户态和内核态之间切换所原创 2020-05-08 18:27:09 · 508 阅读 · 2 评论