跑起第一个C代码Hello World

小马搭建了一下C的环境并编译跑了一个demo。

一、环境安装

首先要了解一下编译器。

C 编译器

写在源文件中的源代码是人类可读的源。它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序。

最常用的免费可用的编译器GNU 的 C/C++ 编译器,如果您使用的是 HP 或 Solaris,则可以使用各自操作系统上的编译器。

以下部分将指导您如何在不同的操作系统上安装 GNU 的 C/C++ 编译器。这里同时提到 C/C++,主要是因为 GNU 的 gcc 编译器适合于 C 和 C++ 编程语言。

Windows 上的安装

为了在 Windows 上安装 GCC,您需要安装 MinGW。为了安装 MinGW,请访问 MinGW 的主页 www.mingw.org,进入 MinGW 下载页面,下载最新版本的 MinGW 安装程序,命名格式为 MinGW-版本号.exe。下马下下来是mingw-get-setup.exe文件,直接傻瓜式安装,主要安装在C盘即可。并注意最后的弹窗要关闭,避免影响后面的安装。(正常情况下安装完桌面也会有该窗口的快捷方式)

弹窗

当安装 MinGW 时,您至少要安装 gcc-core、gcc-g++、binutils 和 MinGW runtime,但是一般情况下都会安装更多其他的项。(这一步倒是没有注意到有出现什么可选的框)

添加您安装的 MinGW 的 bin 子目录到您的 PATH 环境变量中,这样您就可以在命令行中通过简单的名称来指定这些工具。

这样就可以全局跑gcc编译了

当完成安装时,您可以从 Windows 命令行上运行 gcc、g++、ar、ranlib、dlltool 和其他一些 GNU 工具。

安装完成时可以先跑一下命令,如果有弹窗,说明安装成功。随后同样要关闭弹窗。

再运行如下命令,安装gcc。安装过程需要一会儿,可以去喝杯咖啡。如果还要安装g++或gdb只要将命令中gcc替换即可。

安装完即可

二、跑起第一个C代码Hello World

我们在D盘(注意很多教程是在C盘,但并不代表局限于C盘)的自定义c目录下创建一个文件hello.c。文件内容如下:

然后我们用cmd窗口进入这个文件夹,运行命令。

此时我们发现,通目录下新增了一个可执行文件hello.exe。说明编译成功了。

注意,此时很多杀毒软件可能会误杀这个可执行文件,找回信任即可。最后当然是执行这个可执行文件了。

得到我们的代码输出结果

于是,我们的第一个C代码跑起来了。环境已就绪,后面就是语法的熟悉了,起飞吧。

我们在同目录下创建一个C++文件main.cpp看看能不能编译,代码如下。

g++命令编译后同样在同目录下生成一个main.exe文件,我们执行它,成功得到了正确的结果。(此处小马的疑问是,并没有安装g++呢,为什么命令也能编译)


C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性!

C++在C的基础上增添类,C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。

C#(*.cs)是一门高级的面向对象的编程语言,同样也是作为C的扩展所创建的。它是在2002年,由微软的一个团队的领头人Anders Hejlsberg开发的。它是基于.NET框架的,但是它的核心依然是C语言。C#将代码编译成字节码(byte-code)而不是机器码(0101的二进制)。这意味着它会在一台虚拟计算机上运行,这台虚拟机实时(on the fly)将字节码翻译成机器码。它在C语言的基础上添加了垃圾回收(garbage collection)、未初始化的变量检查(uninitialized variable checking)、边界检查(bound checking)和类型检查(type checking)这些特性。这个Java很相似(.java->.class)跑在JVM上。

虽然C和C++有许多的不同但是它们本质上是非常相似的编程语言。C#的话,换句话说它和Java会更相似。虽然C#是三门语言中技术上最复杂的,但是它的语法相对于C和C++来说更不容易出错,因此相对来说它的学习会更快点。作为一款更现代的编程语言,C#被设计于与当前微软.NET框架共同工作,在客户端和web应用程序中均有涉猎。C++是一门面向对象的语言,而C#被认为是一门面向组件(component)的编程语言。面向对象编程聚焦于将多个类结合起来链接为一个可执行的二进制程序,而面向组件编程使用可交换的代码模块(可独立运行)并且你不需要知道它们内部是如何工作的就可以使用它们。

引用知乎的一段回答,很精辟:

C就像一台引擎裸露在外,轮子变速箱刹车传动轴承都要自己装的“车”,如果你是DIY狂人喜欢自己造车,你会喜欢C的;

C++就像上面说的DIY狂人造出来的一台马力十足的跑车,包含了C的全部优点外加一个外壳。开起来是疯狂的野兽马力十足,但是不是谁都能驾驭了,稍有不慎就会车毁人亡;

C#就像一台综合性能非常好的轿跑,自动超速箱ABS防抱死空调音响一应俱全。让你轻松上路,怎么开怎么爽。但是你永远体会不到飙车的激情了,而且这车只能在特定公路开哦~

asp.net是一种用来快速创建动态Web网站的技术,不是语言,它使用C#(或者vb.net)为开发语言。C#是一种面向对象的编程语言;net只是一个框架,.net中所有的编程语言,比如c# vb.net等编写的程序必须在.net framework框架下运行。C#用来开发asp.net的网页编程,所以C#只是一个用于描述逻辑业务,开发功能的语言,它的应用是通过asp.net发布到网站上的。C#是微软为 .NET 量身订做的程序语言。

.net 分成两个方面

一个是WinForm(基于Windows窗体,C/S模式),一个是WebForm(ASP.net基于Web页面,即B/S模式的开发)

.net有很多种语言组成,比如C# C++.net J# VB.Net

但是都是运行在.net FrameWork Run Time底下的。就像Java离不开JavaVM(JAVA虚拟机)一样。

而Asp.Net 可以用C#或VB.Net来开发。编译后形成CLR(中间语言),然后通过服务器的IIS+.Net FrameWork再次编译来运行。



参考文献:

C语言开发环境安装(视频)

C 环境设置(菜鸟教程)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351