自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (7)
  • 收藏
  • 关注

原创 Linux在mmap虚拟内存并不分配物理页,读写时才分配物理页

编译链接 gcc -O0 -Wall paging.c -o paging.elf。源代码保存为 paging.c。运行 ./paging.elf。

2025-03-07 12:17:02 159

原创 inotify监控文件或者文件夹内的多个文件是否被修改

创建1个inotify实例,创建abc.txt和xyz文件夹,在xyz目录下创建1.txt ~ 5.txt五个文件,abc.txt和xyz被inotify监控,记事本打开abc.txt 1.txt ~5.txt共6个文件任意编辑文件并ctl+s保存,程序均有提示表示*.txt被修改。记事本打开abc.txt 1.txt 2.txt 3.txt 4.txt 5.txt任意编辑(删减增加)内容,ctl+s保存,inotify.elf均能捕捉到修改事件。./inotify.elf运行程序。

2025-03-06 17:06:38 190

原创 TCP server和client用gdb单步调试观察3次握手和4次挥手

server.elf和client.elf逐次单步调试socket, bind, listen, accept connect send recv函数期间,重复lsof可监控到server和client之间establish连接。tcpdump可抓取到三次握手的过程,期间如果server.elf运行到断点bind, client运行到connect会提示refused connection.此时如果继续运行server.elf到accept断点,三次握手报文可被抓取。server.elf的gdb调试。

2025-02-26 16:04:10 308

原创 UDP堵塞和非堵塞gdb逐步调试观察socket的创建

fcntl函数定义非堵塞方案,非堵塞方案中,如果接收缓冲区为空(终止server运行即可让client的接收缓冲区迅速为空),会报错提醒。strace ./xxx.elf监控syscall,如果只运行server.elf 能看到堵塞现象如图。1. server端采取缺省堵塞式,接收缓存区为空时,函数recvfrom堵塞。此时启动client.elf 堵塞撤销,因为有client持续发送UDP报文。gcc -Wall -O3 xxx.c -o xxx.elf编译链接。./xxx.elf运行。

2025-02-25 16:15:53 305

原创 TCP server通过epoll处理多路TCP client问询

epoll多路复用对TCP socket创建的文件描述符同步IO监听和处理。

2025-02-19 16:39:21 322

原创 系统调用syscall汇编版AT&T

AT&TLinux syscall

2025-01-22 14:28:50 165

原创 基本汇编封装函数C调用函数

1.声明全局函数符号.global用于编译器链接;2.向量寄存器xmm存储float和double;3.数据类型转换汇编指令cvttsd2siq cvtsi2ss cvtsi2sdq movsd cvtss2sd

2025-01-21 15:29:58 92

原创 内联汇编AT&T

AT&T

2025-01-21 15:16:54 170

原创 IPC 通信-共享内存(system V版和POSIX版)

【代码】IPC共享内存实现进程间通信。

2025-01-20 16:55:51 165

原创 IPC通信-命名管道

【代码】IPC pipe。

2025-01-17 12:34:41 173

原创 IPC通信-消息列队

IPCmessagequeue

2025-01-15 14:27:57 252

原创 最简显式调用动态库(Linux)

【代码】最简显式调用动态库(Linux)

2025-01-05 15:50:07 103

原创 线程或者进程同步semaphore

semaphore实现生产者和消费者线程同步。semaphore亦可实现不同进程之间的同步,用sem_open创建或打开sempphorego共享变量Linux将其存放在/dev/shm/目录。

2024-11-28 13:21:03 221

原创 最简版线程池

最精简版线程池实例,轻松搞定线程池的框架逻辑。DebianLinux上运行,需要安装gcc编译器:sudoaptinstallgcc如果用make编译策略,需要安装make:sudoaptinstallmake该实例有改进,颜色和位置随机化处理,比较生动,请体验。

2024-11-28 12:53:58 235

原创 百度面试五只蚂蚁

#include#include#includeusingnamespacestd;#include#includeclassAntParam{public:boolDirection;//行走方向intPosition;//位置};constintPos[5]={3,7,11,17,23};intmain(){intEveryTime[

2010-01-24 17:12:00 729 1

获取IP地址

可以获取网络终端地址,输入网址即可显示地址,也可获取本机地址

2014-03-15

win7版汉诺塔

用visual C++ 2010 开发,多线程,不闪屏

2011-12-02

进程之间的通信,获取其他窗口指针

VS2008编写的! 进程的通信! 一个对话框发,一个收!

2010-03-07

动态链接库dynamic link library

VC++2008制作。 展示动态链接库的制作和使用!! 动态链接库深入浅出!! 定义出口函数和入口函数!!

2009-07-21

精美动画—大家来看你看 VC++实现波的演示

精美动画—大家来看你看 VC++实现波的演示 VC++6.0版本

2009-07-04

时钟Timer钟表Timer

时钟Timer 时钟Timer 时钟Timer 时钟Timer

2009-07-04

最新最精彩汉诺塔HanoiTower

用Visual C++6.0编写的汉诺塔演示程序! 采用了多线程技术! 可动态调速! 盘子最多可达32个。 画面比较精彩绚丽。 希望大家多多下载支持!! 谢谢大家!!!!

2009-07-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除