C语言环境搭建
C语言开发环境安装,及AI编程,界面开发环境配置
目录
一.文本编辑器安装
VS code,官网下载安装即可
下载地址:Visual Studio Code - Code Editing. Redefined
代码更新后,一键编译运行的插件:Code Runner
使用方法:修改代码后,先Ctrl+S保存代码,然后点击运行三角符号,选择Run Code 即可得到修改后的输出效果
VS code 切换成中文的方式:
1.安装中文插件
2. 按下“Ctrl+Shift+P”组合键以显示“命令面板”,然后键入“display”以筛选并显示“Configure Display Language”命令。按“Enter”,然后会按区域设置显示安装的语言列表,并突出显示当前语言设置
二.VS code终端的中文显示乱码的解决方法
永久解决的方法还没找到,可以单次解决,每次有乱码的时候在终端输入:chcp 65001
显示如下结果即可
三.AI编程助手安装使用
推荐Fitten Code免费且支持 80 多种语言:Python、C++、Javascript、Typescript、Java等
超级好用
1.安装
在搜索框中搜索关键字 Fitten Code:
在搜索结果中点击Install:
登录注册后即可开始使用:
2、智能补全
打开代码文件,输入一段代码,Fitten Code 就会为您自动补全代码:
按下 Tab 键接受所有补全建议:
按下 Ctrl+→ 键(mac系统为Command+→)接收单个词补全建议:
3、AI 问答
用户可通过点击左上角工具栏中的Fitten Code – 开始对话或者使用快捷键Ctrl+Alt+C(mac系统为Control+Option+C)打开对话窗口进行对话:
当用户选中代码段再进行对话时,Fitten Code 会自动引用用户所选中的代码段,此时可直接针对该代码段进行问询等操作:
4、生成代码
可在左侧 Fitten Code 工具栏中选择 "Fitten Code - 生成代码" 或者使用快捷键 Ctrl+Alt+G (mac系统为Control+Option+G),如下图所示:
然后在输入框中输入指令即可生成代码:
利用对话功能生成代码:
5、代码翻译
编辑代码功能可以实现不同语言之间的转换,如Python语法转换成C++语法等。选中需要进行编辑的代码段,右键选择 "Fitten Code – 编辑代码" 或点击左侧工具栏中的 "Fitten Code – 编辑代码" 或者使用快捷键 Ctrl+Alt+E (mac系统为Control+Option+E),如下图所示:
然后在输入框中输入需求(如此处要求Fitten将Python代码转为C++代码):
也可以在Chat界面实现:选中需要进行编辑的代码段,右键选择 "Fitten Code – 开始聊天" 或点击左侧工具栏中的 "Fitten Code – 开始聊天" 或者使用快捷键 Ctrl+Alt+C, 如下图所示:
6、生成注释
Fitten Code 能够根据您的代码自动生成相关注释,通过分析您的代码逻辑和结构,为您的代码提供清晰易懂的解释和文档,不仅提高代码的可读性,还方便其他开发人员理解和使用您的代码。先选中需要生成注释的代码段,然后右键选择 "Fitten Code – 生成注释":
即可生成对应注释如下图所示,点击"Apply"后即可应用:
7、解释代码
Fitten Code 可以对一段代码进行解释,可以通过选中代码段然后右键选择 "Fitten Code – 解释代码" 进行解释,如下图所示:
此外,还可以进一步回答用户关于这段代码的疑问,如下图所示:
8、生成测试
Fitten Code 拥有自动生成单元测试的功能,可以根据代码自动产生相应的测试用例,提高代码质量和可靠性。通过选中代码段后右键选择 "Fitten Code – 生成单元测试" 来实现,如下图所示:
9、检查 BUG
Fitten Code 可以对一段代码检查可能的 bug,并给出修复建议。选中对应代码段,然后右键选择 "Fitten Code查找Bug",如下图所示:
10、编辑代码
Fitten Code可根据用户指示对选定的代码块进行编辑,用户点击 "Apply" 后即可应用变更。通过选中代码段右键选择 "Fitten Code – 编辑代码" 或在左上角工具栏点击 "Fitten Code – 编辑代码",如下图所示:
随后,用户可在输入框中输入指示,Fitten Code 会新建一个窗口对比显示更改前和更改后的内容,用户可通过点击 "Apply" 应用更改,如下图所示:
四.开发界面软件的安装和使用
在Windows上使用GTK编写和运行C语言计算器应用程序,你需要确保你的开发环境已经配置好GTK库。以下是详细的步骤和代码示例:
步骤1:安装GTK库
-
下载并安装MSYS2:
- 访问MSYS2官网,下载并安装MSYS2。
- 打开MSYS2终端。
-
更新包数据库和核心系统包:
pacman -Syu
-
安装GTK3库:
pacman -S mingw-w64-x86_64-gtk3
-
安装编译工具:
pacman -S mingw-w64-x86_64-toolchain base-devel
5.配置环境变量:
配置pkg-config
路径和GTK+路径
配置PKG_CONFIG_PATH
环境变量
配置步骤:
- 打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置”。
- 点击“环境变量”按钮。
- 在“系统变量”部分,找到并选择“PKG_CONFIG_PATH”变量(如果没有则新建一个变量,注意这是变量名,不是path里面的路径),然后点击“编辑”。
- 点击“新建”,然后添加GTK+库的
lib\pkgconfig
目录路径。例如,如果GTK+安装在D:\msys64
,则添加D:\msys64\mingw64\lib\pkgconfig
3. 验证PKG_CONFIG_PATH配置
- 打开
MSYS2 UCRT64
终端 - 输入以下命令来验证
PKG_CONFIG_PATH
是否配置正确:echo %PKG_CONFIG_PATH%
- 确保输出包含
gtk+-3.0.pc
文件所在的目录路径。
步骤2:编写计算器应用程序
创建一个新的C文件,例如calculator.c
,并将以下代码粘贴进去:
#include <gtk/gtk.h>
#include <string.h>
static void button_clicked(GtkWidget *widget, gpointer data)
{
GtkEntry *entry = GTK_ENTRY(data);
const char *label = gtk_button_get_label(GTK_BUTTON(widget));
const char *text = gtk_entry_get_text(entry);
size_t text_len = strlen(text);
size_t label_len = strlen(label);
if (text_len + label_len + 1 > 256)
{
// 处理缓冲区溢出,例如截断或警告用户
g_warning("Buffer overflow prevented");
// 截断输入
char truncated_text[256];
strncpy(truncated_text, text, 256 - label_len - 1);
strcat(truncated_text, label);
gtk_entry_set_text(entry, truncated_text);
return;
}
char new_text[256];
snprintf(new_text, sizeof(new_text), "%s%s", text, label);
gtk_entry_set_text(entry, new_text);
}
static void calculate(GtkWidget *widget, gpointer data)
{
GtkEntry *entry = GTK_ENTRY(data);
const char *expression = gtk_entry_get_text(entry);
double a, b, result;
char operator;
if (sscanf(expression, "%lf%c%lf", &a, &operator, & b) == 3)
{
switch (operator)
{
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b == 0)
{
gtk_entry_set_text(entry, "Error: Division by zero");
// 提供清除错误信息的按钮
GtkWidget *clear_button = gtk_button_new_with_label("Clear Error");
g_signal_connect(clear_button, "clicked", G_CALLBACK(gtk_entry_set_text), entry);
gtk_grid_attach(GTK_GRID(gtk_widget_get_parent(GTK_WIDGET(entry))), clear_button, 0, 5, 1, 1);
gtk_widget_show(clear_button);
return;
}
result = a / b;
break;
default:
result = 0;
break;
}
char result_str[256];
snprintf(result_str, sizeof(result_str), "%.2f", result);
gtk_entry_set_text(entry, result_str);
}
else
{
gtk_entry_set_text(entry, "Error: Invalid expression format");
// 提供清除错误信息的按钮
GtkWidget *clear_button = gtk_button_new_with_label("Clear Error");
g_signal_connect(clear_button, "clicked", G_CALLBACK(gtk_entry_set_text), entry);
gtk_grid_attach(GTK_GRID(gtk_widget_get_parent(GTK_WIDGET(entry))), clear_button, 0, 5, 1, 1);
gtk_widget_show(clear_button);
}
}
static void clear_entry(GtkWidget *widget, gpointer data)
{
GtkEntry *entry = GTK_ENTRY(data);
gtk_entry_set_text(entry, "");
}
int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *grid;
GtkWidget *entry;
GtkWidget *button;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Calculator");
gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
grid = gtk_grid_new();
gtk_container_add(GTK_CONTAINER(window), grid);
entry = gtk_entry_new();
gtk_grid_attach(GTK_GRID(grid), entry, 0, 0, 4, 1);
const char *buttons[] = {"7", "8", "9", "/",
"4", "5", "6", "*",
"1", "2", "3", "-",
"0", ".", "=", "+"};
for (int i = 0; i < 16; i++)
{
button = gtk_button_new_with_label(buttons[i]);
if (strcmp(buttons[i], "=") == 0)
g_signal_connect(button, "clicked", G_CALLBACK(calculate), entry);
else
g_signal_connect(button, "clicked", G_CALLBACK(button_clicked), entry);
gtk_grid_attach(GTK_GRID(grid), button, i % 4, i / 4 + 1, 1, 1);
}
// 增加清零按钮
button = gtk_button_new_with_label("C");
g_signal_connect(button, "clicked", G_CALLBACK(clear_entry), entry);
gtk_grid_attach(GTK_GRID(grid), button, 0, 5, 1, 1);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
// 使控件自适应窗口大小
gtk_widget_set_hexpand(entry, TRUE);
gtk_widget_set_vexpand(entry, TRUE);
gtk_widget_set_hexpand(grid, TRUE);
gtk_widget_set_vexpand(grid, TRUE);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
步骤3:编译和运行程序
-
打开
MSYS2 UCRT64
终端。 -
导航到你的源代码目录:
cd /path/to/your/source/directory
-
编译程序:
gcc calculator.c -o calculator `pkg-config --cflags --libs gtk+-3.0`
-
运行程序:
./calculator
这样,你就可以在Windows上使用GTK编写并运行一个简单的计算器应用程序了
效果如下:
注意事项:
1.有时候执行echo %PKG_CONFIG_PATH% ,不一定会出现具体的路径,只要不影响执行编译就行
2.有时候编译的时候,可能报错找不到gtk,如下图,重新安装GTK3库即可
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)