C语言编译环境基础

编程语言

编程语言有别于正常文本语言是因为它在正常语言基础上加入了逻辑语法或样式。它的存在是帮助使用者能够更加有效的去实现计算或某种操作,当然这一切都依赖于计算机的执行。我们知道计算机是只能识别执行二进制指令,编程语言也由早期的打孔纸带演变出汇编、C、Java等可读性更强的形式。这些不同形式的语言最终都将通过某种特殊工具“翻译”成机器可以执行的二进制指令,执行。这些不同的特殊工具我们称之为不同语言的编译工具,开发编译的系统环境我们称之为编译环境。

C语言作为嵌入式开发语言,能够完美的在不同平台的系统下执行。当然这依赖于在不同系统下的开发包SDK。比较常见的Windows平台下的VS,Linux平台下的GCC。

安装编译环境

这里针对这两个比较常见的系统平台提供安装和开发指导。

Windows平台下安装:

工具:
VS 6.0/VS 2xxx(2xxx指不同的版本,例如2003,2008,2012…)
VS 6.0是早期比较经典的开发工具,运行与Winxp上(也兼容Win7后),广泛运用于大学教学和实验室开发工具。后续VS版本进行了更完善的优化,例如VS2012后版本支持观察程序在执行过程中内存和CPU使用的监控。总之,IDE的更新是越来越易于开发者使用(VS是Microsoft Visual Studio简称)。
安装:
下载安装包双击、下一步 * N、完成
部分版本需要激活,可以百度激活方法或直接下载破解版

Linux平台下安装:

工具:
gcc-x.x.x.tar.gz
根据需要选择不同版本安装包,例如gcc-6.4.0.tar.gz
安装:
安装步骤截图可以自己在网上搜到。这里略过,仅做引导和基本扫盲。

编译环境使用

不管学习什么语言,都有一个特殊的第一课。那就是软件行业比较神圣的“输出Hello World”。作为每个语言开发者第一个程序,向编程世界问好,也为后面即将埋下的众多Bug做个友好的“见面会”,哈哈…
实现比较简单:

#include <stdio.h>

int main(int argc, char* argv[])
{
	printf("Hello World.\n");
	
	return 0;
}

Windows平台下编译和执行(示例环境: Windows 10 + VS 2017)

打开VS 2017,新建控制台项目
File -> New -> Project,选择Visual C++, Empty Project。
新建空项目
在Project路径下Source Files下新增文件:、
鼠标右键 -> Add -> New Item, 选择Visual C++,C++ File(.cpp)
(也可以从外部导入.C文件,鼠标右键 -> Add -> Existing Item)
新增/导入C文件
编写代码,编译执行
编译执行

Linux平台下编译和执行(示例环境: Ubuntu16.4 + GCC 5.4.0)

Linux平台下的代码编译依赖于GCC命令,编写好源代码只有,需要借助GCC命令编译生成可执行文件后,直接执行即可,涉及多个源文件编译需要使用makefile。操作命令如下:

root@ubuntu:~/test# vi test.c			//用Vi编写源文件,或者可以编写好之后从windows导入
root@ubuntu:~/test# cat test.c 
#include <stdio.h>

int main(int argc, char* argv[])
{
	printf("Hello World.\n");
	
	return 0;
}
root@ubuntu:~/test# gcc test.c -o hello		//GCC编译生成可执行文件
root@ubuntu:~/test# ./hello 
Hello World.
root@ubuntu:~/test# 

写在后面的知识点

操作系统背景(以下知识点仅代表本人自己的认识和理解,参考来自《乔布斯传》和Linux发展史,有任何问题,欢迎留言指正)
最早期的系统是没有图形显示界面的,Windows早期的Dos系统和Unix系统一直作为商用级系统用于办公。个人PC的概念并没有普及,主要是因为贵和难用。苹果提出了个人PC的概念并开发了图形显示界面,并以此邀请微软为之开发易用的商务软件,结果微软拒绝,并窃取此项方案,开发了自己的图形显示系统Windows 1.0瞬间抢占了个人PC市场,开启了Windows的帝国时代。
苹果的MacOS是基于Unix开发的,包括很多的网络套接字规范都是基于Unix开发决策的。但是Unix作为商用系统,存在着收费等性质,这一点不利于软件工程的发展,加上Unix系统对新的CPU支持上比较弱,Linux之父Linus开始了对Linux系统早期版本的开发编写。直至今日Linux系统已经有了多种衍生的应用广泛的版本诸如Ubuntu、Centos、Redhat等。Linus无疑成为了开源软件开发者眼中神级别的存在。
关于Linus,还有一个比较传奇的例子是Git的发展。简而言之就是SVN版本托管开始不再为Linux源码提供免费服务后,Linus一怒之下自己操刀花了几个月时间,开发了Git并开源了。结果是Git比SVN远远的好用。你大爷永远是你大爷。

扫描二维码关注公众号,回复: 3867291 查看本文章

猜你喜欢

转载自blog.csdn.net/HappyCF/article/details/83509367