独钓寒江雪

用C++的优雅,驯服Windows的狂野

CMake 是一个开源、跨平台的构建系统生成器(Build-system Generator)。

CMake 是构建系统生成器,而不是构建系统,CMake 支持生成不同构建系统所支持的工程文件,如 Visual Studio,XCode,Makefile 等。

本教程作为 CMake 的简明教程,不会事无巨细的讲述 CMake 的每一个语法,而是以实用为目的,介绍 CMake 的基础语法和常用指令。

虽然只是简明教程,但通过本教程,你仍然可以掌握 CMake 的脉络,熟练应用 CMake 于项目中。

阅读全文 »

当你点击桌面图标,一个窗口缓缓展开;滚动网页时,文字与图片在屏幕上丝滑游走;打开绘图软件,笔触落下的瞬间,色彩便在虚拟画布上晕染开来——这些习以为常的界面交互,构成了我们与数字世界对话的桥梁。但你是否想过:这些“理所当然”的视觉体验,究竟是如何从代码的海洋里“生长”出来的?窗口的轮廓如何被精准勾勒?色彩与线条怎样穿越硬件与系统的边界,最终跃入人眼?

阅读全文 »

以前嵌入脚本首选Lua,但有些年头没有用Lua了,语法也快忘记光了,这些年倒是对 JavaScript 语法愈发熟悉了,于是想看看有没有小巧的 JavaScript 引擎,可以嵌入到 C++程序中使用。嘿,还真有。花时间研究了下 JerryScript 库,也顺手给 JerryScript 提交了几个 PR 被采纳了,有幸成为顶级项目的 Contributor(就是玩儿 ^_^)。

JerryScript 是一个轻量级的 JavaScript 引擎,资源占用极少,它可以运行在资源受限制的设备上,如:

  • 只有几 KB RAM 能运行引擎的设备(<64 KB RAM)
  • 只能为代码引擎提供有限 ROM 空间的设备(<200 KB ROM)

JerryScript 使用 C 语言开发,跨平台。

阅读全文 »

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

详见:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646309.aspx

可以通过修改注册表来指定其他的按键作为调试器预留快捷键:

1
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug] UserDebuggerHotKey=dword:00000000

比如0x13 (Pause键)。

在讲述柔性数组(Flexible Array)之前,首先要介绍一下不完整类型 (Incomplete Type)。不完全类型是暂时没有完全定义好的类型,缺乏足够的信息(例如长度、类型)去描述一个完整的类型。在C/C++中不完全类型有三种不同形式:void、未指定长度的数组以及具有非指定内容的结构和类。

阅读全文 »

打开任何一个数字证书售卖网站都可以看到它们通常将数字证书分为两个大类:SSL证书和数字签名证书。

SSL证书的主要作用是对网站进行身份验证和传输数据加密;

数字签名主要用于验证信息的真实性和完整性,根据使用场景的不同大致分为如下几类:

  • 对客户端程序(.exe、.dll、.sys等文件)签名的代码签名证书。
  • 对PDF等文档签名的文档签名证书。
  • 对电子邮件及其附件签名和加密的邮件安全证书。
阅读全文 »

对于黑话我是拒绝的,但在这个圈子混,又不得不懂一些黑话,以防产生沟通障碍。关键时候说一两句黑话似乎还能显得有B格。

下面是在网上收集的一些黑话,进行了稍许整理,仅供娱乐,请勿当真。

阅读全文 »
0%