c/c++
文章平均质量分 85
旋律1155665
做最好的自己
展开
-
thrift在windows上编译
目录thrift在windows上编译(保姆级教程)遇坑记录(共勉(ง •_•)ง)(不想看那么多的同学直接看这)保姆级教程 thrift在windows上编译(保姆级教程) Thrift是一个轻量级的,与语言无关的软件堆栈,具有用于RPC的相关代码生成机制。Thrift为数据传输,数据序列化和应用程序级处理提供了干净的抽象。Thrift最初由Facebook开发,现在作为Apache项目开源。Apache Thrift是一组代码生成工具,允许开发人员通过在简单的定义文件中定义数据类型和服务接口来构原创 2021-03-18 08:24:50 · 875 阅读 · 1 评论 -
不用ATL框架纯手工实现COM进程外回调
不用ATL框架纯手工实现COM进程外回调 COM全称为(Component Object Model)组件对象模型。COM是由Microcsoft提出的组件标准,它定义了组件程序之间进行交互的标准。COM组件可分为进程内组件和进程外组件。本编文章主要讲述进程外组件的回调实现。COM进程外组件模型COM进程外组件是以独立进程的形式向客户提供对象服务的,客户调用组件程序提供的服务,必然要跨进程调用。在COM中这是通过代理存根来实现的。客户进程调用COM进程外组件的过程主要为以下6步:客户进程调.原创 2020-12-20 22:36:29 · 822 阅读 · 0 评论 -
I/O 完成端口实现
I/O 完成端口实现这篇文章是继承上篇《Windows 同步设备 I/O 与异步设备 I/O》,未读过的读者可以去看看再来看这篇文章哈。I/O完成端口接口封装创建新的I/O完成端口I/O完成可能是最复杂的windows内核对象了,为了创建一个I/O完成端口我们需要调用CreateIoCompletionPort函数:HANDLE WINAPI CreateIoCompletionPort( _In_ HANDLE FileHandle, _In_opt_ HANDLE原创 2020-12-13 17:49:08 · 268 阅读 · 0 评论 -
Windows DLL 注入技术
Windows DLL 注入技术本文主要介绍四种常见的 Windows DLL 注入技术。分别为全局钩子、远线程钩子、突破 SESSION 0 隔离的远线程注入和 APC 注入。全局钩子注入Windows 中大部分应用是基于 Windows 的消息机制,Windows提供截获这些消息的钩子函数。根据钩子作用的不同范围,钩子可以被分为全局和局部钩子。局部钩子是针对某个线程的,全局钩子是只要有使用消息机制的应用。接下来我们主要来看下利用SetWindowsHookEx实现全局钩子。SetWind原创 2020-11-15 17:14:42 · 969 阅读 · 0 评论 -
c++杂记
#pragma warning(push) 保存当前的编译器警告状态;#pragma warning(pop) 恢复原先的警告状态。#pragma pack() 恢复之前的对齐方式#pragma pack(push) 保存之前的对齐方式#pragma pack(pop) 恢复之前的对齐方式#pragma pack(1) 一字节对齐方式 ...原创 2019-12-23 18:45:31 · 71 阅读 · 0 评论 -
c/c++ AVLTree 平衡二叉树
c/c++ 算法 二叉树 平衡二叉树原创 2016-09-16 16:38:44 · 333 阅读 · 0 评论 -
C++标准库总结
C++标准库总结算法:accumulate 在 #include <numeric> 中,accumulate 作用是对一对表示范围的迭代器中的元素进行相加。如:accumulate(v.begin(), v.end(), 0);表示将v中的元素以0为初始值进行相加。第三个参数表示‘+’的类型。注意:accumulate(vs.begin(), vs.end(), ""); 错误!因为""原创 2017-12-21 15:15:23 · 189 阅读 · 0 评论 -
boost 使用总结
boost 使用总结boost::bind()使用总结1. boost::bind(&func, _1, _2, ..., _9); 1)第一个参数为函数的地址,_1, _2, ..., _9 为占位符。 2)_1, _2, ..., _9 为func的参数最多可以有九个。 3)特别注意如果func为成员函数需要占一个位置给this原创 2017-12-19 13:55:54 · 229 阅读 · 0 评论 -
effective c++
effective c++explicit A(int x);explicit 可以阻止隐式类型转换条款 02 尽量以const, enum, inline替换 #define1、 取一个const 常量的地址是合法的但取一个enum 的地址是不合法的2、 对于单纯的常量最好以const对象和enum替换#define3、 对于形式函数的宏,最好改用inline函数替换#d...原创 2018-06-29 12:43:23 · 186 阅读 · 0 评论