C语言环境搭建

目录

一.文本编辑器安装

二.VS code终端的中文显示乱码的解决方法

三.AI编程助手安装使用

1.安装

2、智能补全

3、AI 问答

4、生成代码

5、代码翻译

6、生成注释

7、解释代码

8、生成测试

9、检查 BUG

10、编辑代码

四.开发界面软件的安装和使用

步骤1:安装GTK库

步骤2:编写计算器应用程序

步骤3:编译和运行程序

注意事项:


一.文本编辑器安装

VS code,官网下载安装即可

下载地址:Visual Studio Code - Code Editing. Redefined

代码更新后,一键编译运行的插件:Code Runner

使用方法:修改代码后,先Ctrl+S保存代码,然后点击运行三角符号,选择Run Code 即可得到修改后的输出效果

二.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库

  1. 下载并安装MSYS2

    • 访问MSYS2官网,下载并安装MSYS2。
    • 打开MSYS2终端。
  2. 更新包数据库和核心系统包

    pacman -Syu
    
  3. 安装GTK3库

    pacman -S mingw-w64-x86_64-gtk3
    
  4. 安装编译工具

    pacman -S mingw-w64-x86_64-toolchain base-devel

      5.配置环境变量

配置pkg-config路径和GTK+路径

配置PKG_CONFIG_PATH环境变量

配置步骤:

  1. 打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置”
  2. 点击“环境变量”按钮
  3. 在“系统变量”部分,找到并选择“PKG_CONFIG_PATH”变量(如果没有则新建一个变量,注意这是变量名,不是path里面的路径),然后点击“编辑”
  4. 点击“新建”,然后添加GTK+库的lib\pkgconfig目录路径。例如,如果GTK+安装在D:\msys64,则添加D:\msys64\mingw64\lib\pkgconfig

3. 验证PKG_CONFIG_PATH配置

  1. 打开MSYS2 UCRT64终端
  2. 输入以下命令来验证PKG_CONFIG_PATH是否配置正确
    echo %PKG_CONFIG_PATH%
    
  3. 确保输出包含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:编译和运行程序

  1. 打开MSYS2 UCRT64终端

  2. 导航到你的源代码目录

    cd /path/to/your/source/directory
    
  3. 编译程序

    gcc calculator.c -o calculator `pkg-config --cflags --libs gtk+-3.0`
    
  4. 运行程序

    ./calculator
    

这样,你就可以在Windows上使用GTK编写并运行一个简单的计算器应用程序了

效果如下:

注意事项:

1.有时候执行echo %PKG_CONFIG_PATH% ,不一定会出现具体的路径,只要不影响执行编译就行

2.有时候编译的时候,可能报错找不到gtk,如下图,重新安装GTK3库即可

  • 17
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值