在CMake与Conan中使用MSYS2 MinGW x64工具链编译Windows程序

GCC(GNU Compiler Collection)是一套功能强大的编译器集合,支持C、C++、Fortran等编程语言,是Linux上应用十分广泛的一款编译器。MinGW(Minimalist GNU for Windows)将GNU工具链移植到了Windows环境,可用于编译原生的Windows应用程序。MinGW包含了GCC编译器的Windows移植版本以及用于Windows平台的链接器、汇编器等工具。但是,原始版本的MinGW只能用于编译32位程序,不支持64位程序的编译。

继续阅读“在CMake与Conan中使用MSYS2 MinGW x64工具链编译Windows程序”

Windows 10如何ping计算机名之mDNS

mDNS(参见RFC 6762)是一种用于本地主机名查询的方式,通过组播地址224.0.0.251(或ff02::fb)上的UDP端口5353运行。当需要解析.local结尾的主机名时,应当通过mDNS协议进行解析。mDNS的工作方式与普通DNS类似,但其不依赖一个单独的DNS服务器,而是依靠计算机名的拥有者自行回应该mDNS的请求。Windows 10可以通过mDNS的方式获取被ping的计算机名的IP地址。

继续阅读“Windows 10如何ping计算机名之mDNS”

UWP应用推荐:Hash Checker

Hash(哈希)算法可用于检验一个文件是否完整、是否遭到篡改。当文件内容发生改变时,其哈希值(也就是哈希算法的结果)通常会发生改变。一些软件的官方下载页面上会提供该软件的哈希值,通过下载的文件哈希值是否符合官方公布的哈希值,可以判断下载的文件是否遭到修改或者发生损坏。尤其是从第三方网站下载软件时,通过校验哈希值可以有效防止下载的文件被植入木马等篡改情况。

在Windows上,要获取文件的哈希值,可以通过系统自带的certutil命令行程序进行。但使用该命令行程序操作繁琐,没有进度指示,而且要校验得到的哈希值正确性需要通过目测或者输入其他命令进行比较,不太方便。而通过一款UWP应用Hash Checker,使用图形界面即可得到文件的哈希值。通过粘贴正确的哈希值,软件会自动进行对比,显示哈希值是否正确。软件支持SHA1、SHA256、SHA384、SHA512、MD5和CRC32哈希算法。

继续阅读“UWP应用推荐:Hash Checker”

使用Visual Studio调试闪退问题

编写.NET或UWP软件时,Visual Studio是常用的的调试工具之一。其监视、调用堆栈等功能在对程序逻辑进行查错时十分有用。但如果软件在Visual Studio中启动时一切正常,在别的地方启动(比如后台任务、文件打开甚至在其他电脑上使用时)时却发生闪退,该如何进行调试呢?本文介绍如何创建内存转储文件(Dump)并使用Visual Studio进行“事后调试”,以实现对闪退故障的调试。

继续阅读“使用Visual Studio调试闪退问题”