慢羊羊的空间

无为,无我,无欲,居下,清虚,自然

在 EasyX 中使用外部字体文件设置字体样式 铜牌收录

在 EasyX 输出字体的时候,要求字体在当前环境中可用,否则就无法看到字体的效果。使用系统中默认存在的字体比较简单,可以直接使用。但是如果字体是自己精心挑选的,系统中不存在,将程序发给别人以后,要求别人安装字体才能启动程序看到效果,就不太合适了。本文详细讲述在不安装字体的前提下如何通过字体文件设置字体样式。

解决编译错误:C4996:'GetMouseMsg': This function is deprecated. 铜牌收录

问题概述

EasyX 提供了两个头文件:

  • graphics.h
  • easyx.h

easyx.h 包含最新的函数,并且删掉了旧函数。graphics.h 引用了 easyx.h,同时提供了对旧函数的支持。使用 graphics.h 里面提供的旧函数时,会收到一个 Warning C4996,例如使用旧函数 GetMouseMsg,会收到编译提醒:

C4996:'GetMouseMsg': This function is deprecated. Instead, use this new function: getmessage. See https://docs.easyx.cn/getmessage for details.

在过去,Visual C++ 默认会将 C4996 归类为 Wa

...

开学新装备 - 学生党是否该入手 MacBook? 铜牌收录

学生党是否该入手 macbook 这个问题,相信许多人在许多社区都有看到过类似讨论。只不过,许多讨论都掺杂了信仰、智商税、不懂、不熟悉未来需求等各种因素,导致内容空洞价值不大。这篇文章,抛开了所有非理性因素,详细的告诉你该如何选择。

便携性

有人说,喜欢 macbook 就是喜欢那种轻薄的感觉。

现在来看看真实数据:

屏幕大小 外观尺寸 重量
苹果 MacBook Pro 2020 13 寸 30.41 x 21.24 x 1.56 cm 1.4 kg
苹果 MacBook Air 2020 13 寸 30.41 x 21.24 x 1.61 cm 1.29 kg
...

创建一个不受系统缩放设置(DPI)影响的绘图窗口 铜牌收录

现在的屏幕分辨率都比较高,为了使屏幕字体不至于太小,通常在 Win10 的显示设置里面设为放大 125% 或 150% 或更大,这样就会导致像素实际上被放大了。

如果你的程序不希望受系统缩放设置影响,你需要使用一个新的 API 函数:SetProcessDpiAwareness

注意这个 API 函数的使用条件:

  • Win8.1 及以上版本
  • 头文件 ShellScalingApi.h
  • 库文件 Shcore.lib

以下是一个完整的范例程序,该范例创建一个不受系统缩放设置影响的绘图窗口,并画一个圆:

// 编译环境:Win10 + VS2019 + EasyX_20200727
//

// 设定操作系统版本为 Win10(需要放到 #include <graphics.h> 前面)
#define WINVER 0x0A00
#define _WIN32_WINNT 0x0A00

...

不用创建项目,直接在 VS 里快速测试 C/C++ 代码 铜牌收录

概述

Visual Studio 强大、方便,但是每次写代码都要先创建新项目,这对于一些简单的代码测试来说有点不方便。

本文介绍一种使用 VS 快速测试代码的方法。

该方法适用任何版本的 VS。“不用创建项目”,是指不用“手工”创建项目,而是通过批处理命令,自动完成相关功能,实现双击图标后就进入代码编写环境。

准备工作

先按照如下步骤进行准备(请根据实际情况调整路径):

1. 建立文件夹 D:\TestCpp\,里面存放用来快速测试代码的项目。

2. 打开 Visual Studio,创建一个 Win32 Console Application 项目作为模版,项目路径 D:\TestCpp\Template\TestCon,其它设置根据自己的习惯来。然后添加代码文件 main.cpp:

#include <stdio.h>

int main()
{
	printf("Hello W
...

正确的提问方式 铜牌收录

网络是一个很好的交流学习平台,但是有些同学比较郁闷:为什么自己在网上发的问题没人帮自己呢?这多半原因是因为这些同学“不会提问”。本文就简单说一下,应该如何提问。

彻底卸载 Visual Studio、SQL Server 等微软开发平台的官方工具 铜牌收录

像 Microsoft Visual Studio(Visual C++)、SQL Server 等微软系的开发平台,不仅仅要安装开发环境,还要安装许多相关组件,涉及到的安装位置除了软件的安装文件夹之外,还有好些组件在系统盘以及系统文件夹内,如果不小心改动了某些组件或者删除了某个文件夹,经常会造成无法彻底卸载的问题。除了卸载,有些安装文件夹只有第一次安装的时候才能选择路径,如果不彻底卸载,再次安装的时候就无法重新选择安装路径。

所以这时候,我们需要一个安全的、官方的、有效的、简单的卸载工具。

这个工具微软已经帮我们准备好了:Microsoft Program Install and Uninstall Troubleshooter

【点这里】查看微软对该工具的介绍,里面有微软的官方下载地址。

不想看那么多的,可以直接【点这里】

...

C/C++ 内功心法(入门篇)- 第一章 绪论(5,6) 铜牌收录

返回:C/C++ 内功心法(入门篇)- 目录

5. 寓教于乐

初学编程,更多的是锻炼逻辑思考能力。这里列出几个锻炼逻辑思维的小游戏,空闲的时候可以试试:

  1. 扫雷(推荐 Win10 商店里的版本)
  2. 人力资源机器(PC 版本或安卓版本都可以)

这里就不提供下载了,自己想办法吧,这是学编程之前的基本能力。

6. 学习环境的配置

为了跟随本书学习编程,请按照以下要求配置学习环境:

  1. 使用 Win10 系统,并设置为英文。如果计算机配置不高,可以考虑使用 Win7 或 WinXP 系统。
  2. 设置 Win10 系统显示文件的扩展名。
  3. 安装英文版的 Visual C++ 2010 学习版(英文版名称为 Visual C++ 2010 Express)。
    下载地址:https://pan.baidu.com/s/1kFb9X-1HV8HRyE
...

C/C++ 内功心法(入门篇)- 第一章 绪论(4) 铜牌收录

返回:C/C++ 内功心法(入门篇)- 目录

4. 解惑

编程的前景及就业情况如何?

以计算机程序控制机器替代人力劳动,是大势所趋。

20 年前,学了驾照就可以弄辆出租车养家糊口。现在,手机约车逐步在取代传统的出租车,甚至共享汽车在很多地方都开始普及。再过几年,自动驾驶会取代出租车司机、公交车司机……

计算机种植,精确控制植物所需环境及养分。

计算机诊断病情,甚至实施精确手术。

计算机清洁,自动定期清扫城市街道、住宅小区等。

计算机实现自动实时翻译。

计算机实现自动配药。

计算机实现自动采摘……

这就是趋势,没什么需要担心的。

学编程是否需要天赋?

一句话解释:以大多数人的努力程度之低,根本轮不到拼天赋。

举个例子,一个女生每天出门需要化妆 5 分钟(够神速了吧)。

别人的学习时间是每天 500 分钟(8 小

...

C/C++ 内功心法(入门篇)- 第一章 绪论(3) 铜牌收录

返回:C/C++ 内功心法(入门篇)- 目录

3. 学习编程的预备知识

编程是一项有一定门槛的知识,在对计算机的软硬件不够了解的前提下学习编程,会事倍功半。因此,在开始正式讲编程知识之前,本节课先提一些基础要求。

上网

基于网络的 QQ 聊天、淘宝购物、支付宝付款等等,不再多说。着重说这几点:

  1. 百度搜索。常规内容的搜索都离不开百度。但是,要学会鉴别搜索结果中的广告与垃圾。

  2. 必应搜索。在全球范围内检索资料的不二选择,尤其是在英文网站检索编程相关问题,更是离不开必应搜索。

  3. 学会搜索“官方网站”。网上各种资料有真有假有新有旧,最靠谱的,是官方网站的资讯。比如要下载 EasyX ,比较推荐的做法是搜索“EasyX 官网”,然后在官网里面找到所需的下载。

  4. 学会鉴别“官方网站”。并不是所有搜到的“官网”都是官方网站。网络中有各种钓鱼网站,做的很

...

C/C++ 内功心法(入门篇)- 第一章 绪论(1,2) 铜牌收录

返回:C/C++ 内功心法(入门篇)- 目录

1. C/C++ 的历史及特点

有关计算机的历史、C 语言的历史、C++ 的历史,以及各自有什么特点,甚至哪年谁谁谁发明了什么等等,请自行网上搜索。

2. 编程思维

乔布斯说过:“每个人都应该学习编程,因为它会教给你如何思考。”

从厨神的故事开始

我相信每个人对“编程”这个词都有自己的认识。我从一个小故事说起吧。

有个厨神,开了一下小饭店,人们非常喜欢吃他做的菜。

但是厨神也有累的时候,也有生病的时候,也有带着孩子出去玩的时候,这时候虽然有其他厨师烧菜,但顾客的满意度会下降。并且大厨也没有三头六臂,饭店的规模始终无法扩大。

所幸厨神的孩子是学编程的,给支了这么一招:让厨神将菜谱全部写出来,调料全部量化,炒菜过程标准化,整理出一份“超级菜谱”。这样,其他厨师按照这个“超级菜谱”烧的菜,能达到厨神的九成水准,这已经能满足绝大多数顾客的口味了。

然后饭店继续招聘厨师,以这个“超级菜谱”培训新

...