跑起第一个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 环境设置(菜鸟教程)

你可能感兴趣的:(跑起第一个C代码Hello World)