SYSTEM

Linux学习:二进制、elf

Linux学习:二进制、elf

bingliaolong 2周前 8 0

二进制文件类型 概述 Windows 有好几种不同的二进制格式 PE/COFF 用于 .exe/.dll/.obj/.sys 独立的 .pdb 格式 独立的 .lib 格式 Linux 几乎全部统一为 ELF 格式 可执行文件、共享库、目标文件、内核模块、core dump 全都...

一些问题二:libcurl静态链接相关问题

一些问题二:libcurl静态链接相关问题

bingliaolong 1个月前 9 0

概述 从vcpkg安装了libcurl的静态库,把该静态库拷贝到了项目同级目录,并在项目中引用了这个libcurl.lib 问题 现象 编译出test.exe的时候发现,同时会多出两个文件 libcurl.dll zlib1.dll 分析 在项目同级目录放进去的是静态库,也在项目...

Windows动态库(DLL)详细学习:一

Windows动态库(DLL)详细学习:一

bingliaolong 10个月前 17 0

概述 DllMain 是 Windows 动态链接库(DLL)的入口函数,类似于可执行程序的 main 函数 它在以下四种情况下会被系统自动调用: DLL 被加载到进程内存 DLL 被卸载 进程创建新线程 线程退出 参数 保留参数 lpReserved: DLL_PROCESS_...

Windows 核心编程 _ 用户模式:线程同步三

Windows 核心编程 _ 用户模式:线程同步三

bingliaolong 4年前 13 0

Slim读写锁 概述 目的和关键段一样,对一个资源进行保护,不让其他线程访问它。 和关键段不同的是,SRWLock允许我们区分那些想要读取资源的值的线程(读取者线程)以及想要更新资源的值的线程(写入者线程) 关于读写锁的功能 让所有的读取者线程同一时刻访问共享资源应该是可行的,因...

Windows 核心编程 _ 内核对象二

Windows 核心编程 _ 内核对象二

bingliaolong 4年前 12 0

终端服务命名空间 在正在允许终端服务的计算机中,有多个用于内核对象的命名空间。 其中一个是全局命名空间,所有客户端都能访问到的内核对象要放在这个命名空间里面。这个命名空间主要由服务使用。 此外,每个客户端会话都有一个自己的命名空间。 可以通过ProcessIdToSessionI...

一些问题:数据模型、数据类型相关、WPARAM和LPARAM

一些问题:数据模型、数据类型相关、WPARAM和LPARAM

bingliaolong 4个月前 9 0

cpp 数据模型和数据类型大小 C++ 数据类型的大小并不是完全固定的,而是由数据模型(Data Model)决定的 不同的操作系统和编译器组合会采用不同的数据模型 为什么有不同数据模型 Windows 选择 LLP64 是为了最大化 32 位代码兼容性 保持 long 为 4 ...

Windows Dll自卸载相关

Windows Dll自卸载相关

bingliaolong 2年前 9 0

简述 在Windows中,DLL(动态链接库)可以请求操作系统卸载自己,但这样做是有风险的 要确保在DLL被卸载后不再访问任何DLL内部的资源或函数 FreeLibrary 如果在test.dll的某个函数里面,获取到test.dll的句柄后,调用FreeLibrary释放了te...

Linux目录的作用

Linux目录的作用

bingliaolong 6年前 8 0

划分 依据文件系统使用的频繁与否与是否允许使用者随意更动, 而将目录定义成为四种交互作用的形态 可分享的 可以分享给其他系统挂载使用的目录 不可分享的 机器上面运作的配置文件或程序相关的socket文件等 可变的 有些不会经常变动的数据 不可变的 经常改变的数据 可分享的 不可分...

扫一扫二维码分享