禁用F12作为调试热键

在Windows系统中,F12永远为调试器所预留,不能被用来注册为快捷键,如我们通常使用F12打开浏览器的调试工具。即便当前未调试应用程序,如果内核模式调试器或实时调试器有驻留,F12也会被预留。 详见:https://msdn.microsoft....

编程基础

折腾开发环境的一天

日常使用的 IDE 主要有 Visual Studio、Qt Creator,代码查看工具有 Source Insight、Visual Studio Code。每个工具的使用方式不太一样,今天想花点时间折腾一下,统一下各个工具的快捷键,记录下它们的使用差异。

编程基础

MSVC版本的二进制兼容性

Visual Studio 2013 及更早版本中的 Microsoft C++ (MSVC) 编译器工具集不保证主版本间的二进制兼容性,无法链接由不同版本工具集生成的对象文件、静态库、动态库和可执行文件,因为ABI、对象格式和运行时库不兼容。 微软在 Visual Studio 2015 及更高版本中改变了这个行为。对于自 Visual Studio 2015 以来的所有版本(该版本号都以 14 开头,如Visual Studio 2015、2017、2019 和 2022工具集的版本分别为 v140、v141、v142 和 v143)由其中任一版本编译器编译的运行时库和应用都具有二进制兼容性。 假设你使用 Visual Studio 2015 生成第三方库,你仍可在 Visual Studio 2017、2019 或 2022 生成的应用程序中使用它们,无需使用匹配工具集重新编译。 同时最新版本的 Microsoft Visual C++ 可再发行程序包(运行时库)也兼容所有老版本,无需为不同版本安装不同的运行时库,统一安装最新版本即可。

C++语言