错误信息:VS2010 Profiler导致Win7重启
环境
Win7旗舰版 + VS2010
闲来无事,研究了一下VS2010的Profiler功能,发现选择CPU Sampling模式进行Profiling时,机器立即重启。
问题原因
Windows Update安装了一个安全更新(Meltdown/Spectre),此更新修改了Win7的内核(相当于安装了内核驱动),禁止了VS2010 Profiler中CPU Sampling工...
小技巧:加快VS2010编译速度
在工程开发中,随着规模越来越大,编译整个工程所需要的时间与日俱增,如果不能控制编译时间,则可能到工程开发后期,编译成本会增加到无法接受的程度。今天就来讲讲如何在VS2010中通过几个设置来加快工程编译速度。
1) 启用并行编译(工具-选项-项目及解决方案-编译及运行)
并行编译会同时编译多个互相无依赖关系的工程。通常,设置并行编译的工程的数量和编译服务器核心数量一致。
2) 启用多核编译(Deb...
实战经验:Let’s Encrypt 证书续期
业余时间,研究了一下免费的HTTPS证书,发现Let’s Encrypt官网有个十分好用的证书签发工具,还是免费的,于是就在IIS上用上了,使用了一段时间,感觉还是不错的。就是需要定期给证书续期,那么,今天就来简单描述一下如何续期。
准备工作
1) IIS
2) 已安装Let’s Encrypt环境
执行续期指令
1) 首先在命令行下执行:letsencrypt.exe –renew ...
小技巧:非默认端口(21)的FTP站点的防火墙配置
问题
最近尝试在IIS上搭建FTP站点,没有使用默认的21号端口。发现客户机(FileZilla)无法访问。
解决方法
碰到这个问题,猜测是服务器防火墙的设置问题。于是我将服务器的防火墙全部关闭,然后重现尝试连接,发现可以正常连接。这证实了我的猜想。那么,到底是哪个防火墙规则导致的呢?
于是,我打开高级防火墙设置,在入站规则列表中按名称排序,发现有三个和FTP有关的防火墙条目。
于是,逐条的启...
Gif专题:在对话框上显示Gif图片
在上一篇文章中,我们介绍了如何导入一张Gif图片到VS2010中,今天我们继续讲解如何在对话框上显示Gif图片。
本文用到了上一篇文章中示例工程。
添加测试按钮
我们这次重点是描述如何加载并显示Gif图片,所以为了方便描述,我们首先在资源视图中添加一个按钮,当按钮被点击的时候,显示Gif图片的代码被执行,对话框上显示Gif图片。但是,这种方式下,因为显示Gif是一个阻塞过程,所以显示Gif的同时,...
Gif专题:如何导入Gif图片作为资源
在工作中,我们有时候需要在界面上显示一张Gif图片作为动画效果,今天我们专门出一个专题来讲讲如何在程序中导入并显示Gif图片。
这个专题将分为两篇文章,这是第一篇,主要讲解如何导入一张Gif图片,在下一篇文章中,我将描述如何通过GDI+的方式,来显示导入的Gif图片。
准备工作
开发环境:VS2010
任意Gif图片一张,命名为:test.gif
新建一个示例工程
我们首先启动VS2010,新建一...
实战经验:Linux下Git在多用户协作场景下的使用
测试环境
CentOS 7.3
Git: 1.8.3.1
服务器IP: 192.168.30.26
建立项目成员
1) 使用管理员账号登录服务器,根据项目成员的情况,为每一位成员建立系统账号,账号所在的组为users。这里假设项目成员账号为zhangsan。
# useradd -m -g users -r zhangsan // 新建账号,账号名为zhangsan,所在组为users
# pas...
实战经验:VMware虚拟机设定桥接后ping不通宿主机
问题
在一次网络测试中,我们希望搭建一个局域网络。使用VMware建立虚拟机,并和宿主机组网进行双向通信。虚拟机使用桥接网络,其IP配置为和宿主机同一局域网段,发现虚拟机Ping不通宿主机。
可能的原因
VMware的桥接网络需要绑定到宿主机的一张网卡,如果宿主机上有多张网卡,并且局域网中使用的网卡和绑定的网卡不一致,则会出现IP配置对了但是ping不通的情况。
例如,宿主机上有两张网卡,一张有线...
深度理解:Windows DLL 二进制兼容性探究
使用C++开发工程代码的时候,一般采取模块化设计来降低项目的复杂度。一个典型的C++工程,一般分为一个EXE工程作为主启动进程,若干个DLL工程提供各种不同的功能集合。今天我们通过一个具体的实例来看看DLL的二进制兼容性。
研究环境
编译环境:VS2010
主EXE工程:Win32控制台应用,名称Test
DLL工程:MFC共享DLL,名称Function
工程代码
主EXE工程
主EXE工程采用...
深度理解:OwnerDraw和CustomDraw
如果需要自定义控件的呈现效果,我们会使用两种不同的实现手法:OwnerDraw和CustomDraw。今天就来具体讲一讲它们的区别。
OwnerDraw
所谓OwnerDraw,这里的”Owner”可以理解为控件的父窗口,也可以是控件类的派生类。当控件的OwnerDraw属性被启用时,控件的父窗口负责控件的所有绘制工作。
如何启用控件的OwnerDraw属性
对于普通按钮,...


