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 ;
}
注:代码保存格式要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运行】

4.3使用EditPlus运行c程序
1.在EditPlus写上t1.c的代码,然后依次点击工具中的gcc编译,和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 ;
}
运行后

第一天就写到这里了,以后想到什么,再慢慢修改。突然发现,把知道的东西,写出来,真是一件很难的事。
C语言学习(1)-环境配置的更多相关文章
- 1 python学习——python环境配置
1 python学习--python环境配置 要学习python语言,光看书看教程还是不好,得动手去写.当然,不管学习什么编程语言,最佳的方式还在于实践. 要实践,先得有一个Python解释器来解释执 ...
- 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow
接上文<深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0>,我们继续来安装 TensorFlow,使其支持GeForce GTX 1080显卡 ...
- 深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow
深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow 最近在公司做深度学习相关的学习和实验,原来一直 ...
- (转)深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0 发表于2016年07月15号由52nlp 接上文<深度学习主机攒机小记>,这台GTX10 ...
- 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
不多说,直接上干货! 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
- Libgdx游戏学习(1)——环境配置及demo运行
原文: Libgdx游戏学习(1)--环境配置及demo运行 - Stars-One的杂货小窝 Libgdx游戏是基于Java的一款游戏引擎,可以发布Android,桌面端,Html,IOS等游戏,出 ...
- 带你学够浪:Go语言基础系列-环境配置和 Hello world
文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 前面几周陆陆续续写了一些后端技术的文章,包括数据库.微 ...
- go 语言开发1 环境配置和语言基础
Go 语言环境配置 windows 环境变量: 设置 GOROOT (安装路径),GOPATH(工程目录) Path 中加入 %GOROOT%/bin 和 %GOPATH%/bin mac 环境变量: ...
- JMeter学习-002-JMeter环境配置
本节主要介绍 JMeter 本地环境配置(JMeter 版本为 apache-jmeter-2.12),详细配置如下: 一.JDK配置 默认用户本地已经安装且配置好 JDK.若未配置,敬请参阅我的博客 ...
随机推荐
- [bzoj2561]最小生成树_网络流_最小割_最小生成树
最小生成树 bzoj-2561 题目大意:题目链接. 注释:略. 想法: 我们发现: 如果一条权值为$L$的边想加入到最小生成树上的话,需要满足一下条件. 就是求出原图的最小生成树之后,这个边当做非树 ...
- Redis集群方案之主从复制(待实践)
Redis有主从复制的功能,一台主可以有多台从,从还可以有多台从,但是从只能有一个主.并且在从写入的数据不会复制到主. 配置 在Redis中,要实现主从复制架构非常简单,只需要在从数据库的配置文件中加 ...
- hibernate_Criteria_分页_去重
触发原因:实体类间存在一对多关系,并且在一这方加载多的时候用的加载模式是eager. 解决方法:1.非分页:criteria.setResultTransformer(Criteria.DISTINC ...
- git remote加入本地库的方法
方法来自airk: 假设须要将你电脑本地的一个git库(目录)B 加入到另外一个git库(目录) A的 remote里 操作方法例如以下: 先在git仓库B操作: git init --bare 然后 ...
- hdu 2544 最短路(SPFA算法)
本题链接:点击打开链接 本题大意: 首先输入一个n,m.代表有n个点.m条边.然后输入m条边,每条边输入两个点及边权.1为起点,n为终点.输入两个零表示结束. 解题思路: 本题能够使用SPFA算法来做 ...
- vs2013生成lib
引擎cocos2d-x-3.1.1 一. cocos创建一个项目.随便是lua还是cpp.这里用cpp演示 二.创建完毕之后执行下项目 之后创建两个类.例如以下 TestLib.cpp文件 #incl ...
- mysql导出整个数据库
mysql导出整个数据库 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql mysqldump - ...
- 详细介绍Linux telnet命令的使用
对Linux系统进行远程登录,Linux telnet命令是必须得掌握的一个知识,虽然telnet并不是唯一的远程登录的方案,但是不可否认它是最常用的,所以很有必要详细了解Linux telnet命令 ...
- Echarts 如何使用 bmap 的 API
使用 Echarts 在绘制 Binning on map 的图形时(其实也就是 在地图上绘制热力色块图) 解决因为数据量过大,希望在拖拽加载或者缩放加载的时候,根据可视区域的经纬度范围,来请求相应的 ...
- linux文件系统的权限简单介绍
linux系统下,文件的权限是这样表示的: - --- --- --- 一共用10位的二进制进行表示,其中 位置 0 : - :文件 d :目录剩下的9个位置:位置1-3 当前用户(应 ...