[原]使用64位的编译工具进行编译 发表于 2019-10-11 | 更新于: 2019-10-11 | 分类于 开发 , 工具 字数统计: | 阅读时长 ≈ 分钟 缘起最近在编译项目的时候总是报虚拟内存不足(项目中使用了大量的模板)。一般情况下,vs会使用32位的编译工具进行编译,用64位的编译工具应该能解决类似的问题。本以为是一件挺简单的事,但是没想到遇到不少坑,本文记录了折腾的过程,希望对有类似需求的小伙伴有所帮助。 阅读全文 »
调试实战 | 调试 PInvoke 导致栈破坏 发表于 2019-10-03 | 更新于: 2019-10-03 | 分类于 调试 , .NET 字数统计: | 阅读时长 ≈ 分钟 缘起最近项目中遇到一个诡异的问题,程序在升级到.net4.6.1后,执行某个功能时会崩溃,提示访问只读内存区。大概规律如下: debug版不崩溃,release版稳定崩溃。 只有x64位的程序崩溃,32位及anycpu编译出来的程序运行不会崩溃。 出问题的代码范围很小(按钮点击事件代码不多)。 根据以上信息,各位小伙伴有什么思路吗? 阅读全文 »
[原]Cmake生成指定vs版本的工程文件 发表于 2019-09-29 | 更新于: 2019-09-29 | 分类于 开发 , 工具 字数统计: | 阅读时长 ≈ 分钟 前言很多开源库都是使用makefile的形式组织的,如果我们不习惯使用命令行进行编译,我们可以使用cmake或者cmake-gui来生成工程文件,进而可以通过GUI的形式进行编译。本文主要总结了如何通过指定generator来生成想要的特定版本的工程文件。 阅读全文 »
排错实战 | 使用process explorer替换任务管理器 发表于 2019-09-14 | 更新于: 2019-09-14 | 分类于 排错 字数统计: | 阅读时长 ≈ 分钟 前言一般,我们会使用任务管理器查看系统中有哪些进程正在运行,强制杀掉某个进程。可是系统自带的任务管理器功能有限,process explorer是一个功能更强大的工具。它可以让我们查看更多更详细的信息( 比如查看某个进程的父进程,进程加载了哪些dll,打开了哪些文件,线程的cpu使用情况,线程的调用栈,哪些文件被哪些进程占用了,等等 …… )。有没有办法让process explorer替换系统自带的任务管理器呢?:thinking: 阅读全文 »
[原]C++新标准之std::thread 发表于 2019-09-08 | 更新于: 2019-09-08 | 分类于 开发 , c++11 字数统计: | 阅读时长 ≈ 分钟 概览从C++11开始提供了线程的支持,终于可以方便的编写跨平台的线程代码了。除了std::thread类,还提供了许多其它便利同步的机制,本篇总结是C++11学习笔记系列的首篇总结。 阅读全文 »
[原]UEFI+GPT启动VHD 发表于 2019-09-01 | 更新于: 2024-05-18 | 分类于 运维 字数统计: | 阅读时长 ≈ 分钟 1. 缘起最近因为不小心中招了(一直在裸奔),又面临着重装系统的尴尬,虽然之前有备份,但是时间已经很久了,而且恢复一次跟重装一遍差不多,没有多大优势。之前同事帮我弄过从vhd文件启动系统,很是方便,可以备份vhd文件即可。借此机会,决定好好研究下来龙去脉。 阅读全文 »