Linux

Linux 高性能服务器编程:Libevent

Linux 高性能服务器编程:Libevent 6

bingliaolong 3年前 10 0

概述 Linux服务器程序必须处理三类事件: I/O事件 信号 定时事件 在处理这三类事件时通常需要考虑三个问题: 统一事件源 可移植性 对并发编程的支持 I/O框架概述 I/O框架库以库函数的形式,封装了较为底层的系统调用,给应用程序提供了一组方便使用的接口 这些库函数往往比程...

各平台调试方法总结记述一

各平台调试方法总结记述一

bingliaolong 2年前 10 0

Windows 日志 可以通过现有日志来观察 当不方便附加进程时,可以通过写文件的方法写日志 Visual Studio 附加到进程 CLion 附加到进程 windbg Linux 日志 应用程序日志 var/log/ 当不方便附加进程时,可以通过写文件的方法写日志 gdb l...

Vim编辑器的操作

Vim编辑器的操作

bingliaolong 5年前 10 0

vim模式 命令模式(默认) 刚进入vim的时候,默认就是 命令模式,可以复制行,删除行等。 命令模式→输入模式 i:在当前光标所在字符的前面,转为输入模式 I:在当前光标所在行的行首转换为输入模式 a:在当前光标所在字符的后面,转为输入模式 A:在光标所在行的行尾,转换为输入模...

Linux 高性能服务器编程:TCP一

Linux 高性能服务器编程:TCP一 9

bingliaolong 4年前 9 0

TCP特点 面向连接 字节流 可靠传输 关于TCP 使用TCP通信的双方必须先建立连接,然后才能开始数据的读写。 双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。 TCP连接是全双工的,双方的数据读写可以通过一个连接进行。完成数据交换之后,通信双方都必须...

51CTO:Linux C++网络编程一

51CTO:Linux C++网络编程一

bingliaolong 2年前 9 0

linux操作系统启动过程 第一个进程 在传统的Unix和Linux系统中,init进程是系统启动后的第一个进程(PID为1) 它是系统的祖先进程,负责启动其他所有的进程 在许多现代Linux发行版中,systemd已经取代了传统的init系统 在这些系统中,systemd是第一...

Linux 高性能服务器编程:I/O复用一

Linux 高性能服务器编程:I/O复用一 2

bingliaolong 4年前 8 0

概述 I/O复用使得程序能同时监听多个文件描述符,这对提高程序的性能很重要。 通常,网络程序在下列情况下需要使用I/O复用技术: 客户端程序要同时处理多个socket。 客户端程序要同时处理用户输入和网络连接。 TCP服务器要同时处理监听socket和连接socket。 服务器要...

51CTO:Linux C++网络编程二

51CTO:Linux C++网络编程二

bingliaolong 2年前 7 0

信号 概述 /usr/include/ 信号是进程间通信(IPC)的一种简单机制 信号提供了一种向进程传递通知和信息的方式,以便进程可以相应地做出反应 信号类型 SIGINT:当用户按下CTRL-C时,通常发送这个信号来中断进程 SIGTERM:用于正常终止进程,是kill命令的...

Linux 高性能服务器编程:高性能定时器

Linux 高性能服务器编程:高性能定时器 5

bingliaolong 3年前 7 0

高性能定时器 时间论 基于排序链表的定时器存在一个问题:添加定时器的效率偏低 时间论解决了这个问题 上图所示时间论,(实线)指针指向轮子的一个槽(slot)。 它恒定的速度顺时针转动,每转动一步就指向下一个槽(虚线指向的槽),每次转动称为一个滴答(tick)。 一个滴答的时间称为...

Linux 进程间的通信方式和原理

Linux 进程间的通信方式和原理

bingliaolong 5年前 7 0

进程的概念 进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。 进程通信的概念 进程用户空间是相互独立的,一般而言是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统...

gdb的操作使用

gdb的操作使用

bingliaolong 5年前 7 0

gdb功能 启动我们的程序,按照我们自定义的要求随心所欲的运行程序 让被调试的程序在我们所指定的调置的断点位置处停住(断点可以是表达式) 当我们的程序被挺住时,我们可以检查此时程序中所发生的事情 动态的改变程序的执行环境 使用gdb 一般来说GDB主要调试的是C/C++的程序。要...

扫一扫二维码分享