- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 C++创建的类在内存的存储分布
用C++语言创建一个类对象模型时,基本上包含成员变量(数据)和成员方法(函数)两种类型,这时C++编译器就要考虑如何对这个类的两部分分别在内存如何划分不同的区域进行存储。参考深度探索C++对象模型中的一个类的例子:/*定义一个点类,用于讲解C++对象模型*/class Point{ public: Point(float xval); virtual ~Po...
2018-11-02 22:49:42
3572
1
原创 VS系列编译器安装破解版VA_X.dll插件
在我们使用微软提供的Visual studio编译器开发工具时,自然会想到另一个比较好用的提供快捷方式的VA插件,不过并不像visual studio有提供免费版本,一般只会给我们30天的试用期限, 到了期限的时候大部分功能将会停止提供使用,我们自然地会想到如何能够破解并免费试用VA插件呢,接下来就来讲解一下如何获得破解版的VA插件。如果我们的试用版VA插件已经安装到电脑上的某一款...
2018-09-21 11:49:19
14489
1
原创 windows编程用WM_COPYDATA进行两进程间传输大量数据
现在有个需求需要在两进程间大量传递数据,而在windows程序下两个进程间进行通信 可以有多个方法:1、管道(未命名管道、命名管道)2、共享内存3、消息队列不过上述实现起来比较麻烦,现在我们来讲解如何使用sendMessage来传输大量数据。LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, ...
2018-09-20 23:23:50
2343
原创 windows7系统安装中文语言包汉化问题
今天稍不注意就把电脑安装成纯英文的操作系统界面,这就不利于在中文环境下进行开发和添加中文注释,并遇到一个比较奇怪的事情,通过控制面板没有找到安装或者卸载的按钮,接下来讲解一下如何解决win7汉化这个问题。步骤一:点击电脑的开始按钮,弹出如图一所示的英文界面,接着点击Control Panel(控制面板)按钮。 ...
2018-09-10 19:40:04
11585
1
原创 win32根据进程名获取进程ID或者终止进程
第一部分:根据进程名获取进程ID。首先我们需要了解三个windows API函数:HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, DWORD th32ProcessID);CreateToolhelp32Snapshot函数可以得到系统进程快照的句柄,如果函数调用成功返回快照句柄,否则返回INVALID_HA...
2018-09-04 21:12:33
7495
原创 Windows提取进程加载的DLL同目录下的其他文件
现在有如下需求:有一个文件Example.exe放在加载进进程的一个kernel.dll的同级目录下,现在要获取该Example.exe的文件路径,程序如下所示:BOOL __getOtherFilePath(){ HINSTANCE hr; WCHAR ExampleFileName[] = L"\\ExmapleDemo.exe"; WCHAR ExampleFilePath[M...
2018-09-03 21:42:12
576
原创 Win32判断用户操作系统的版本号以及位数
一:操作系统版本号: 至今为止从官方文档上查找到的windows操作系统版本号的对照表为:微软的官方文档链接地址为:https://docs.microsoft.com/zh-cn/windows/desktop/SysInfo/operating-system-version其中windows APi函数提供许多判断操作系统的函数://Windows8以上的操作系统判断不...
2018-09-03 21:24:26
1945
原创 windows10 下使用win32调用uwp的toastNotification功能----直接进入消息中心不用弹出
距离window10发布已经三四年的时间了,而微软在win10平台进一步丰富了UWP的功能,比如我们将要讲解的toast通知模块,uwp(Universal Windows Platform简称,即Windows通用应用平台,在Windows 10 Mobile/Surface(Windows平板电脑)/PC/Xbox/HoloLens等平台上运行,uwp不同于传统pc上的exe应用...
2018-09-03 10:33:38
2465
原创 window平台下两个进程间通信
功能需求:现如今有两个进程一个进程A,一个进程B,通过Windows的消息机制实现进程A 发送消息给B, 进程B也能发送消息给A。平台:首先我们使用Win32程序实现相应的功能,使用VS2017+C++以及Windows API工具与函数惊醒开发。方案:通过对需求(即我们只需要两个进程能够收到响应的消息,具体应用场景就是两个进程是同种属性的进程,也即都为另一种进程而生存且服务,例如,现在进...
2018-08-17 20:50:17
640
1
原创 Win32平台下NOTIFYICONDATA的气泡点击功能的响应与实现
功能来源:本人实现开启自己开发的应用程序或者在用户点击应用程序的关闭按钮来实现最小化到系统托盘,并且要求弹出气泡通知而且能够支持鼠标点击功能。 使用了win32的NOTIFYICONDATA结构体并分析了各个成员变量的含义以及相应的新特性;讲解了新特性的适用场合并给出官方链接。使用shell_NotifyIcon函数设置的结构体,并实现了鼠标点击事件。
2018-08-17 19:38:16
4193
原创 动态规划之五:数字三角形
问题:将一个由n行数字组成的三角形,如图所示,设计一个算法,计算出三角形的由顶至底的一条路径,使该路径经过的数字总和最大?图1数字三角形 首先拿到这题,我们第一想法肯定是使用深度优先算法DFS或者广度优先算法BFS,但是使用DFS算法需要遍历所有点,搜索时会重复遍历一些点,导致时间成指数增长。图2重复计算的次数设我们用二维数组map[m][n]来存储数字三角形,把图1转换成实际的存储格...
2018-04-17 16:39:05
295
1
原创 动态规划之三:剪绳子变形之切割杆
问题:现在已知有一个长度为n的切割杆,且1~n长度对应的价值存储在prices[n]数组中,将其进行若干次切割,求其达到的最大价值? 通过问题的叙述我们可以发现,和前一篇讲解的动态规划之二:剪绳子问题很相似,都属于动态规划的内容,因此我们就用动态规划的思想来解决问题。 现在使用形式化语言来描述问题规模的最大价值状态,即f(n)表示长度为n的切割杆的最大价值。prices[n]数...
2018-04-17 10:01:27
442
原创 动态规划之四:最长公共子序列
问题:已知两个序列的长度分别为m、n,求取这两个序列的最长公共子序列LCS(longest common sequence)的长度?示例描述: 输入: 第一行输入两个整数分别为n、m,它们分别代表序列source以及dest 的长度 第二行输入序列source的值 第三行输入序列dest的值 输出: 输出最长子序列的长度。实例:...
2018-04-16 23:21:35
424
原创 动态规划之二:剪绳子问题
问题:现有一根长度为N的绳子,需要你剪成M段,使M段的乘积最大。(其中M、N都为整数,剪成的每段长度也为整数,N已知,M未知)例如 绳子长度N=8 剪成M=3,数值为别为2,3,3,则乘积最大为 2*3*3=18。 当我们遇到一个大规模问题时,总是习惯把问题的规模变小,这样便于分析讨论。我们从最简单的情况进行分析:当绳子的长度N=1时,我们至少需要剪绳子一次,这时乘积为0;当绳子的长度为N=2时,...
2018-04-15 20:58:56
3351
4
原创 动态规划之一:凑钱
动态规划 适用动态规划解决的问题,经分解得到的子问题往往不是互相独立的,通过把原问题分解为相对简单的子问题的的方式求解复杂问题的方法,求解的问题要具备最优子结构性质和重叠子问题性质的基本要素。基本思想:如果给定一个问题,我们可以分解为不同的子问题且能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,从而得到多项式时间算法。为了达到此目的,可以用一个表来...
2018-04-15 15:43:05
3254
2
原创 指针与自增优先级的问题
在我们面试时,经常会有一些关于运算符优先级的题目,今天就给大家展示一个常出现的例子。问题:定义一个数组 int a[10]={1,2,3,4,5,6,7,8,9,0}; int *p=a; 则 cout<<*p++<<endl; C++部分运算符优先级顺序 由此问题我们可以看出来,其想考察的是C++程序设计的运算符的优先级以及后自增的知识点。我们查看优先级表格表格...
2018-04-14 16:23:52
5392
1
原创 求一个二进制表示的整数的0和1的位数
题目:输入一个整数,求其二进制表示的0和1的位数。求取整数的二进制下的0的位数举例来说,假设一个整数我们用一个字节八位数来表示,int a=123; 则a的十六进制表示方法为a=0x7B( 0111 1011 ),去掉最低位的0的方法为 : a | (a+1) { 0111 1011 | 0111 1100=0111 1111 },此时的a=0x7F(0111 1111),同理,运用同样的方法就...
2018-03-30 12:21:29
419
原创 二维网格避免距离为二的两种解法
题目:有一个L*W的网格盒子,网格的行编号为0~L-1,网格的列编号为0~W-1。每个格子至多可以放一蛋糕,任意两块蛋糕的欧几里得距离不能等于2。最多可以放多少块蛋糕在网格盒子里?示意图:(其中1代表有蛋糕,0代表没蛋糕)11001100110011000011001100110011图1 解法一:如图一所示我们可以把问题分成网格被4整除、被2整除、其他三类情况被4整除的情况11001100...
2018-03-23 13:05:12
306
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人