摘要:
进程基础概念 Linux进程是计算机运行中的一个程序的实例。每个进程都是计算机中一个独立的执行单元,具有自己的内存空间、代码、数据和打开的文件。Linux使用进程作为执行任务的基本单位,可以同时运行多个进程,并采用时间片轮转调度算法来分配CPU时间给每个进程。如果系统中某个进程崩溃,它不会影响到其余 阅读全文
摘要:
文件描述符表 每启动一个进程,系统会在内核空间中为该进程创建一个 struct task_struct 结构体,用于存储和管理进程的各种信息。在这其中,有一项名为文件描述符表的数据结构。文件描述符表是内核中一个关键的数据结构,用于跟踪进程打开的文件或其他 I/O 对象。它通常是一个简单的数组,每个文 阅读全文
摘要:
初识Vim Vim被称为神一样的编译器,人类历史上最好文本编辑器(^_^)。学习成本很高,学习路线陡峭。下面列举一些入门的教程: 慕课网-玩转Vim 从放弃到爱不释手 新手必看 Vim实用技巧(第2版) 精通Vim:用Vim8和Neovim实现高效开发 vimtutor,在命令行中输入 vimtut 阅读全文
摘要:
环境准备 环境 操作系统:Windows 10 64位 编译器:VS 2019 社区版 工具 perl 该工具用于编译openssl。 下载地址:https://www.alipan.com/s/4F2pZZgRVMd nasm 该工具用于编译openssl。 下载地址:https://www.al 阅读全文
摘要:
在显示一个对话框时,可以在WM_PAINT消息处理函数中绘制窗口的背景色。但会出现一种情况,在还未执行完OnPaint函数,对话框已经先显示出白色窗体,如下: 还未绘制窗体,背景色先被显示。 解决办法: 1、添加WM_CTLCOLOR消息。 2、在消息响应函数中添加如下代码: 1 HBRUSH CZ 阅读全文
摘要:
本文引自:《VC窗口闪烁问题的解决》 概述 一般的windows复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小时候出现闪烁。 闪烁产生的原因 原因一: 如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上,而是写到了显存里,显卡每隔一段时间把 阅读全文
摘要:
VS2019增加了一个名为“地址擦除系统”的功能,默认是关闭的,可以在项目“属性”-“c/c++”-"常规"中开启。在开启地址擦除系统”功能时,将调试信息格式设置为“程序数据库”。如下图: 如果没有该项,检查VS2019的版本是否低于16.9,并且在安装项中是否安装“C++ AddressSanit 阅读全文
摘要:
select模型是对简单C/S模型的优化,他解决了accept函数阻塞等待连接的问题。并且允许应用程序同时监视多个套接字,从而实现简单的并发请求。通过调用select函数确认一个或多个套接字当前的状态,并根据当前状态进行相应操作。在select模型模型中,select函数是最关键的。 select模 阅读全文
摘要:
C/S阻塞模型是指客户端/服务器阻塞模型,它描述了一种基于阻塞的网络通信方式。在阻塞模型中,客户端发送请求给服务器,并等待服务器的响应。在等待服务器响应的过程中,客户端的操作会被阻塞,直到服务器响应返回或超时。 服务器 服务器基本流程如下: 启动网络库 创建服务器Socket 绑定服务器地址和端口号 阅读全文
摘要:
参考CDialog::DoModal函数的实现方式,自己实现了模态框相关功能。 ModalBase.h头文件 1 #include <afxwin.h> 2 3 #define ID_NULL 0 4 #define ID_OK 1 5 #define ID_CANCEL 2 6 #define I 阅读全文