技术类
文章平均质量分 68
Lady__Killer
万花丛中的一只小蜜蜂
展开
-
C++代码编写规范
C++代码编写规范1 头文件1.1 使用头文件保护使用#define进行头文件保护,而不使用微软的#pragma once。为了保证唯一性,头文件保护的命名需要基于项目代码路径,比如Project\Src\Area\File.h 则文件的保护应该像这样:#ifndefine PROJECT_SRC_AREA_FILE_H#define原创 2016-11-30 10:35:21 · 7522 阅读 · 0 评论 -
C++友元详解
我们已知道类具备封装和信息隐 藏的特性。只有类的成员函数才能访问类的私有成员,程式中的其他函数是无法访问私有成员的。非成员函数能够访问类中的公有成员,但是假如将数据成员都定义 为公有的,这又破坏了隐藏的特性。另外,应该看到在某些情况下,特别是在对某些成员函数多次调用时,由于参数传递,类型检查和安全性检查等都需要时间开 销,而影响程式的运行效率。 为了解决上述问题,提出一种使用友元的方案。原创 2016-11-25 19:30:34 · 331 阅读 · 0 评论 -
C++中智能指针的实现原理
智能指针:它的一种通用实现方法是采用引用计数的方法。智能指针将一个计数器与类指向的对象相关联,引用计数跟踪共有多少个类对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷贝指针并增加与之相应的引用计数;对一个对象进行赋值时,赋值操作符减少左操作数所指对象的引用计数(如果引用计数为减至0,则删除对象),并增加右操作原创 2016-11-25 19:35:45 · 1001 阅读 · 0 评论 -
win7之后的系统的CPU占用计算的原理与实现
经过比对,发现procexp和任务管理器在计算进程cpu占用上面存在很大的差异,经过研究发现,procexp显示的是正确的,而任务管理器显示的是错误的,任务管理器是用以前老的方式计算的。 新的cpu计算原来应该是:进程CPU占用率 = 进程消耗CPU时间 / 所有进程消耗CPU总时间 * 100%CycleTime:周期时间(即从进程启动开始到当前原创 2017-01-10 15:43:27 · 1866 阅读 · 1 评论 -
64位系统分析32位程序dump
需要切换32位模式输入一下命令: .load wow64exts !sw原创 2017-01-11 16:20:26 · 579 阅读 · 0 评论 -
常用 Git 命令
git的命令不计其数,但日常使用的话只需要记住6个就可以了。理解以下几个专业术语:Workspace:工作区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一原创 2017-06-06 10:41:45 · 317 阅读 · 0 评论 -
electron入门
介绍目前,使用前端技术开发桌面应用已经越来越成熟,这使得前端同学也可以参与桌面应用的开发。目前类似的工具有electron,NW.js等。这里我们着重介绍下electron。electron开发electron是基于Node.js和Chromium做的一个工具。electron是的可以使用前端技术实现桌面开发,并且支持多平台运行。下面来讲下如何使用electron开发桌面a原创 2017-11-08 11:12:44 · 1102 阅读 · 0 评论 -
electron三步实现Hello World
关于electron 的介绍就不多说了,直接进入主题。第一步:安装node. js下载网站:https://nodejs.org/en/download/安装完成node.js之后进行第二步。第二步:下载安装electron因为新的node.js环境已经集成了npm,所以可以用npm来下载安装enectron原创 2017-11-09 15:17:26 · 543 阅读 · 0 评论 -
一分钟搞定VS Code调试electron应用程序(主进程)
调试原理:https://electron.atom.io/docs/tutorial/debugging-main-process/废话不多说,也是简单的3步:一、修改启动命令参数(package.json){ "name": "Hello-World", "main": "main.js", "scripts": { "start": "elec原创 2017-11-09 15:50:42 · 6027 阅读 · 0 评论 -
Windows平台下基于WFP模型的网络防火墙设计实现
本文转载自:http://bbs.pediy.com/showthread.php?t=173871Windows平台下基于WFP模型的网络防火墙设计实现项目概述:本项目由两大模块构成,分别为驱动模块和UI模块。首先,从规则库(存放在注册表中)中读取访问控制规则,然后利用WFP(Windows Filter Platform)技术[6]在Windows内核的TCP/IP转载 2016-11-24 17:20:42 · 4407 阅读 · 1 评论 -
C语言位运算说明
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值原创 2016-11-24 16:52:22 · 368 阅读 · 0 评论 -
Visual Studio各种路径宏说明
$(RemoteMachine)设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。$(References)以分号分隔的引用列表被添加到项目中。$(ConfigurationName)当前项目配置的名称(例如“Debug”)。$(PlatformName)当前项目平台的名称(例如“Wi原创 2016-11-24 16:49:59 · 982 阅读 · 0 评论 -
WinDbg开启Local Kernel Debug
1、设置系统为调试模式(以win7为例)徽标键+R打开运行,输入msconfig回车,打开系统配置面板选择引导选项,点击高级选项(V),弹出引导高级选项面板把调试(D)勾上,点击确定,然后重启机器。2、用管理员权限启动windbg点击File菜单,点击Kernel Debugging,弹出Kernel Debugging设置面板点击确定原创 2016-12-01 14:56:05 · 2180 阅读 · 0 评论 -
驱动调试之虚拟机设置
一、系统主机:win7 x64虚拟机:VMware 10VMOS:win7 x64二、虚拟机设置1、打开虚拟机设置面板2、点击Add按钮3、next4、FInish5、添加完成后切记Yield CPU on pull要打上勾三、虚拟机系统设置请参考系统设置原创 2016-12-01 15:24:41 · 777 阅读 · 0 评论 -
windbg调试内核驱动
一、准备工作主机:Windows 7 x64虚拟机:VMware 10VMOS: Windows7 x64WDK: Windows Driver Kit 8.1调试工具:Windbg二、虚拟机配置请参考虚拟机设置三、Windbg设置给WinDbg建个快捷方式,设置启动参数-b -k com:pipe,port=\\.\pipe\com_1,reset原创 2016-12-01 15:32:29 · 816 阅读 · 0 评论 -
windbg调试子进程
1、启动windbg,打开File菜单,选择Open Executable,选择需要调试的进程目标文件把Debug child processes also勾上,点击打开。2、查看子进程1:023> | 0 id: 2e40 create name: nginx.exe 1 id: 2208 child name: BTest.exe. 2原创 2016-12-02 12:40:43 · 2489 阅读 · 0 评论 -
win7 无法更新问题解决
问题描述:win7系统好几没有更新了,一时兴起用系统自带update进行更新,提示要更新系统update,就一直在检查更新状态。用360更新,更新能找到并能下载,但一个也安装不上。解决办法:1.设置关闭 windows update步骤:控制面板\系统和安全\Windows Update\更改设置,设置不检查更新2.重启电脑3.安装2个补丁(32位和64位的,按原创 2016-12-02 18:12:16 · 2223 阅读 · 1 评论 -
深入解析结构化异常处理(SEH)
文章转载自:http://www.cppblog.com/weiym/archive/2015/02/27/209884.html在Win32操作系统提供的所有功能中,使用最广泛而又没有公开的恐怕要数结构化异常处理(Structured Exception Handling,SEH) 了。当你考虑Win32结构化异常处理时,也许会想到__try、__finally和__except等术语。可能转载 2016-11-21 20:13:52 · 935 阅读 · 0 评论 -
Windows操作系统服务编写原理
本文转载自:http://soft.chinabyte.com/os/368/12251368.shtml有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。 (一)服务的基础知识 Question 1. 什么是服务?它的特转载 2016-11-24 16:42:32 · 1307 阅读 · 0 评论 -
Detours使用说明
本文转载自:http://www.cnblogs.com/flywuya/archive/2010/12/01/1893729.html1 介绍 Api hook包括两部分:api调用的截取和api函数的重定向。通过api hook可以修改函数的参数和返回值。关于原理的详细内容参见《windows核心编程》第19章和第22章。 2 Detours API转载 2016-11-24 16:44:17 · 678 阅读 · 0 评论 -
VS Code调试electron应用程序(主进程)
1、修改启动命令参数(package.json){ "name": "Hello-World", "main": "main.js", "scripts": { "start": "electron . --inspect-brk=5858" }} --inspect-brk=5858" }}原创 2018-10-25 20:04:12 · 827 阅读 · 1 评论