普通视图

发现新文章,点击刷新页面。
昨天以前lzw-723's blog

Cakewalk安装无反应的解决办法

2021年12月2日 12:01

请在BandLab Assistant里面删除Cakewalk

案发经过

安装Cakewalk时没用放在C盘,导致后续音源出问题,无奈只能删除重装。
删除时没有在BandLab Assistant里面删除,导致BandLab Assistant认为Cakewalk未删除,这时无法更新、安装、卸载Cakewalk。

解决办法

win + R 输入 regeidt打开注册表编辑器
删除HKEY_LOCAL_MACHINE\SOFTWARE\Cakewalk Music Software\Cakewalk\Installers\DC294903-7970-42DB-B049-04FA5E7C6332即可。
问题解决。

参考资料

  1. 如何纯净地重装 Cakewalk
  2. UNABLE TO UNINSTALL CAKEWALK
  3. 为什么我删除cakewalk之后想重新下载 但是bandlab上面显示我下载好了 导致我下载不了?

Dev-C++ FAQ

2021年10月8日 22:30

使用过程中的踩坑记录。

什么是Dev-C++

百度百科的dev词条描述

Dev-C++是一个Windows下的CC++程序的集成开发环境。它使用MingW32/GCC编译器,遵循C/C++标准。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,能够适合初学者与编程高手的不同需求,是学习CC++的首选开发工具!多国语言版中包含简繁体中文语言界面及技巧提示,还有英语、俄语、法语、德语、意大利语等二十多个国家和地区语言提供选择。

百度百科的Dev-C++词条描述

Dev-C++(或者叫做Dev-Cpp)是Windows环境下的一个轻量级C/C++集成开发环境IDE)。它是一款自由软件,遵守GPL许可协议分发源代码。它集合了功能强大的源码编辑器、MingW64/TDM-GCC编译器、GDB调试器和AStyle格式整理器等众多自由软件,适合于在教学中供C/C++语言初学者使用,也适合于非商业级普通开发者使用。

为什么选择Dev-C++

正如百度百科中的描述,使用Dev-C++更多的是C/C++语言初学者
相较于别的C语言IDE,较为完善的中文界面、简洁的视图面板、自带编译器、大量的踩坑记录、国内大师的经典教材,让Dev-C++在国内久盛不衰。

选择哪个Dev-C++

有哪些版本

Dev-C++版本 开发商(者) 更新情况 特点
Bloodshed Dev-C++ Bloodshed公司 2011年 v4.9.9.2 后停止开发 蓝色经典
Orwell Dev-C++ 独立开发者 Orwelldevcpp 2016年 v5.11后停止更新 TDM-GCC 4.9.2 32/64bit
Banzhusoft Dev-C++ 国内开发者 Banzhusoft (斑竹软件) 最新版本 5.15(2020年9月发布) 现代化的改进、编译出错信息中文显示、代码自动格式化
小熊猫Dev-C++ (原名Dev C++ 2020) 国内开发者 royqh1979 最新 2021年8月20日 Version 6.7.5 优化改进代码补全提示、界面改善功能增强、自动链接、自带GCC集成EGE绘图库和海龟作图库及其项目模板
Embarcadero Dev-C++ Embarcadero公司 最新 2021年1月31日 v6.3 增新功能,添加了新主题,增加了多种字体,主图标更改为红色

版本演进

Dev-C++版本演进

各版本工作界面

Banzhusoft Dev-C++
Banzhusoft Dev-C++ 5.15 工作界面
小熊猫Dev-C++
小熊猫Dev-C++ 2020 工作界面
Embarcadero Dev-C++
Embarcadero Dev-C++ v6.3 工作界面

笔者推荐的版本

小熊猫Dev-C++和Embarcadero Dev-C++都是不错的选择,截至目前两者都在持续更新。
小熊猫Dev-C++较原版Dev-C++界面变动小,还添加了图形库方便初学者,对国人更为友好。
Embarcadero Dev-C++界面更为现代、美观,由Embarcadero公司维护,较为可靠(大概)。
笔者选择Embarcadero Dev-C++作为本文研究对象。

Dev-C++常见问题及技巧

新手问题

新建工程

请在Dev-C++中将工程区别于源代码

文件>新建>项目,选择项目模板、编程语言、填写项目名称,完成。

Dev-C++工程结构

一个普通工程目录下有如下文件

    HelloWorld.dev 项目文件,双击打开这个Dev-C++项目
    HelloWorld.exe 编译生成的可执行文件
    HelloWorld.layout 项目的其他配置信息(如编辑器的外观设置)
    main.c 代码文件
    main.o 编译中间产物
    Makefile.win Makefile文件(Windows平台)

解决输出中文乱码

如果你直接在Dev-C++中打印你好,你会得到浣犲ソ
要解决这个问题,工具>编译器选项>编译器,勾选编译时加入如下命令,在下方文本框中输入-fexec-charset=gbk,问题解决。

进阶技巧

解决编辑器中文无法显示

截至2021年10月14日官方还是没有修复,相关的issue积攒了五六个(╬▔皿▔)凸

你可能遇到过在编辑器中输入中文取消选中后文字隐形的情况,不要着急,急也没用。
工具>编辑器选项>显示>编辑器字体,取消勾选底部的ID 27071 translation missing,中文正常显示。

为程序添加图标

图标文件仅支持ico格式,可以使用在线转换网站转换图片文件到*.ico文件。

项目>项目属性>普通,图标>库——可以使用自带的图标,图标>浏览——可以使用自定义的图标。

为程序添加资源

选32位还是64位

64位的程序仅支持在64位的平台上执行,而32位的程序在32位和64位的平台上都能执行。
不过32位的程序在64位平台有最大使用内存等限制。
请根据你的目标平台选择。

隐藏控制台黑窗口

项目>项目属性>编译器>定制>连接器>不产生控制台窗口,选择Yes。

添加第三方库

项目>项目属性

添加库文件

进入文件/目录
库目录——添加第三方库的.a和.dll文件目录。
包含文件目录——添加第三方库头文件目录。

链接库

进入参数
链接下面的文本框中添加链接参数,例如:-luuid,多个库使用空格或换行分开。

常见绘图库

什么是win32程序

参考资料

[1]dev(计算机语言C/C++开发工具)_百度百科
[2]Dev-C++_百度百科

C语言教程 - for循环

2021年9月5日 06:51

C语言中的for循环非常简单。

Tutorial

C语言中的for循环非常简单。你能用它创建一个循环—一块运行多次的代码块。
for循环需要一个用来迭代的变量,通常命名为i

for循环能够做这些:

  • 用一个初始值初始化迭代器变量
  • 检查迭代变量是否达到最终值
  • 增加迭代变量的值

如果想运行代码块10次,可以这样写:

int i;
for (i = 0; i < 10; i++) {
    printf("%d\n", i);
}

这段代码会打印从0到9的数字。

for循环能够用来获取数组的每一个值。要计算一个数组所有值的和,可以这样使用i

int array[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sum = 0;
int i;

for (i = 0; i < 10; i++) {
    sum += array[i];
}

/* 求a[0]到a[9]的和 */
printf("Sum of the array is %d\n", sum);

Exercise

计算数组array的阶乘(从array[0]乘到array[9])。

Tutorial Code

#include <stdio.h>

int main() {
  int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  int factorial = 1;
  int i;

  /* 在这里使用for循环计算阶乘*/

  printf("10! is %d.\n", factorial);
}

Expected Output

10! is 3628800.

Solution

#include <stdio.h>

int main() {
  int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  int factorial = 1;

  int i;

  for(i=0;i<10;i++){
    factorial *= array[i];
  }

  printf("10! is %d.\n", factorial);
}
❌
❌