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

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

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

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

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

bingliaolong Linux 4年前 13 0

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

MASM:概述一

MASM:概述一

bingliaolong Compilation 8个月前 13 0

基础 NASM 开源、跨平台汇编器(支持 Windows、Linux、macOS) 特点 语法简洁严格(如内存访问必须用 [ ] 包裹) 无自动类型推断(需显式指定操作数大小,如 mov word [var], 1) 支持直接生成纯二进制文件(如引导扇区程序) 应用 操作系统开发...

Linux 内存映射与普通文件访问的区别

Linux 内存映射与普通文件访问的区别 4

bingliaolong Linux 6年前 13 0

mmap概念 mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。 实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文...

Linux学习:grep、tmux、kill、signal

Linux学习:grep、tmux、kill、signal

bingliaolong Linux 2周前 13 0

grep 基础的用法 常用的选项 组合使用 上下文显示 正则表达式 管道组合(grep 的精髓) tmux 三层结构 前缀键 所有快捷键都要先按一个"前缀键",默认是 Ctrl+b 比如"分屏"的操作是 Ctrl+b 然后松开,再按 % 会...

gcc/g++编译器

gcc/g++编译器

bingliaolong Linux 6年前 13 0

gcc/g++介绍 概述 gcc和g++都是GNU(组织)的一个编译器 区别 后缀为.c的文件gcc把它当做c程序,g++当做c++程序。 后缀为c++的两者都当做c++程序。 其他 对于cpp程序,无论gcc或者是g++编译阶段都是相同的 都是用的gcc进行编译 但是在链接阶段...

x86_64汇编学习记述一

x86_64汇编学习记述一

数据部分 数据部分用于声明常量。 该数据在运行时不会改变。 代码部分 文本部分用于代码。 该部分必须以声明 global _start 开始,它告诉内核程序执行的开始位置。 注释 hello,world 前面两行定义了数据,并在其中放置了具有hello, world值的msg常量...

x86_64汇编学习记述二

x86_64汇编学习记述二 2

大小端 可以将内存想象为一个大数组。它包含字节。 每个地址存储内存“数组”的一个元素。每个元素都是一个字节。 例如我们有 4 个字节:AA 56 AB FF 小端字节序 低地址存低位字节 大段字节序 高地址存低位字节 汇编程序组成 data 用于声明初始化数据或常量 bss 用于...

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

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

bingliaolong Linux 4年前 12 0

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

51CTO:C++网络通信引擎架构与实现一

51CTO:C++网络通信引擎架构与实现一

bingliaolong C++ Socket 2年前 11 0

WIN32_LEAN_AND_MEAN 一个预处理宏,用于控制 Windows 头文件中包含哪些内容 具体来说,定义这个宏会减少 Windows 头文件中包含的一些不常用的头文件和 API,从而减小编译时间并减少编译产生的二进制文件的大小 比如在包含 windows.h 之前定义...

扫一扫二维码分享