C语言学习(1)—环境配置

写在前面的话,该文章是看杨老师的一套视频,所做的一些笔记,边看边写,再此谢谢杨老师。

1.学习C之前需要避免的误区

误区一:C++是C的升级版;C#是C++的升级版

误区二:C/C++就是Visual C++

误区三:MFC是学C/C++必学的“高级技术”

2.关于开发工具的说明

2.1编辑器(Complier):编译是从源代码到计算机能直接执行的目标代码(机器语言)的翻译过程。C语言的编译器有:GCC,MSC++Complier

扩展:对于C#代码的执行是经过二次编译的,第一次通过C#编译器编译成中间语言(IL),第二次编译过程发生在,当执行C#代码生成的EXE文件时,会调用即时编译器(JIT),生成计算机可识别的机器语言。

2.2集成开发工具(IDE):IDE一般具有如下特点:关键词高亮显示,代码自动显示,代码格式化

3.gcc编译第一个C程序

3.1GCC的简介

3.2GCC的使用

第一步:下载GCC文件。将下载好的GCC文件,放到一个目录,不存在中文和空格的文件夹中。

写如下代码,命名为为t1.c,保存到E盘下的abc文件夹

#include<stdio.h>
int main()
{
    printf("你好");
    return 0;
}

注:代码保存格式要ANSI,否则中文会出现乱码。

第二步:打开cmd,进入t1.c所在文件夹,运行编译过程,执行exe

 技术分享

4.EditPlus搭建GCC开发环境

发现每次编译一个文件,都要写很多重复的代码,下面介绍一种用EditPlus自己搭建一个GCC编译环境

下载EditPlus,并安装,打开。然后进行一下操作:

工具---》配置用户信息---》工具组1---》添加工具---》应用程序

如下图:

4.1创建 【gcc编译】

菜单文字:操作的名字,自己定义

命令:代表要执行的程序,写gcc.exe的全路径

参数:即执行程序要传递给gcc.exe的参数:$(FileName) -o $(FileNameNoExt).exe

初始目录:选择【文件目录】,相当于cmd中 cd到.c的文件夹

动作:选择【捕捉输出】

保存:选择【当前文件、所有打开文件】

界面如下:

下面是设置快捷键:

工具---》快捷键---》类型---》工具---》用户工具1---》新快捷键---》分配

4.2创建【gcc运行】

C语言不仅只能写控制台程序,还可以做出各种UI界面,下面C的一个GUI

5.编写第一个GTK程序

5.1GTK的介绍:

5.2GTK的配置:

下载好GTK并保存到相应文件夹,并配置环境变量

5.3GTK在EditPlus中的使用:

创建gtk编译

参数的配置:

IF:\GTK\include中的F为为GTK在F盘;

$(FileName) -w -o $(FileNameNoExt).exe  -IF:\GTK\include -IF:\GTK\include\GTK-3.0 -IF:\GTK\include\cairo -IF:\GTK\include\gdk -IF:\GTK\include\glib-2.0 -IF:\GTK\lib\glib-2.0\include -IF:\GTK\include\pango-1.0 -IF:\GTK\include\atk-1.0 -IF:\GTK\include\gdk-pixbuf-2.0  -LF:\GTK\lib -lgtk-win32-3.0 -lgobject-2.0 -lglib-2.0 -lgdk-win32-3.0  -lgdk_pixbuf-2.0 -lcairo –mwindows

在EditPlus输入如下代码:

#include <stdio.h>
#include<gtk/gtk.h>//引入GTK文件
int main(int argc, char *argv[])
{
    //初始化GTK环境,不写会报错
    gtk_init(NULL,NULL);
    //新建一个顶级窗口,返回窗口指针
    GtkWidget*window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
    //设置窗体标题
    gtk_window_set_title(window,"您好");
    //设置窗口关闭后程序退出,否则虽然看不到了,但是进程还在;此时不能再编译gcc
    g_signal_connect(window,"destroy",gtk_main_quit,NULL);//
    //显示窗口
    gtk_widget_show(window);
    //启动消息循环,不加程序会闪退,gtk_main之后一般不写代码
    gtk_main();
    
    
    return 0;
}

运行后

第一天就写到这里了,以后想到什么,再慢慢修改。突然发现,把知道的东西,写出来,真是一件很难的事。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。