更多课程 选择中心

C/C++培训
达内IT学院

400-111-8989

学习C语言必知的几个概念

  • 发布:C++培训
  • 来源:C语言中文网
  • 时间:2019-05-20 11:48

我们在使用 IDE 的过程中会涉及到一些与编程有关的比较晦涩难懂的概念,这些概念不是像我们在生活中的瓶瓶罐罐等可以看得到摸得着,如果你不是真正理解了,即使能够运行出程序来,也是会一知半解,知其然不知其所以然。所以理解这些概念也是十分重要。

源代码(Source Code)

估计大家最早接触源代码这个概念是由邓肯·琼斯执导电影《源代码》,美国大片总是会观众一种神秘感,其实源代码就是指在网页制作过程中需要用到的一些特殊的“语言”,这些语言是人用来和计算机对话的,设计人员通过对这些“语言”进行组织编排制作出网页,然后由浏览器对代码进行“翻译”后才是我们最终看到的效果,比如C语言、C++、Python等都是编程语言。

源文件(Source File)

比较通俗的说,当我们在开发软件的过程中,我们需要将编写好的代码(Code)保存到一个文件中,这样代码才能留存下来,被编译器找到,才能最终变成可执行文件。这种用来保存代码的文件就叫做源文件。每种编程语言的源文件都有特定的后缀,就好像平时介绍朋友的名字时为了便于确认,都会在说“这是王小二,王二的儿子”同理为了方便被编译器识别,被程序员理解。源文件后缀大都根据编程语言本身的名字来命名,例如:

C语言源文件的后缀是.c;

C++语言(C Plus Plus)源文件的后缀是.cpp;

Python 源文件的后缀是.py;

源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变,源文件其实是个纯文本文件,它的内部没有特殊格式。

C++ 是站在C语言的肩膀上发展期来的,是在C语言的基础上进行的扩展,C++ 包含了C语言的全部内容,将C语言代码放在.cpp文件中不会有错,见过很多人都这么做,但是,个人还是建议将C语言代码放在.c文件中,这样能够更加严格地遵循C语言的语法,也能够更加清晰地了解C语言和C++的区别。

工程/项目(Project)

一个真正的程序(也就我们平时说的软件)往往包含多项功能,每一项功能都需要几十行甚至几千行、几万行的代码来实现,如果我们将这些代码都放到一个源文件中,那将会让人崩溃,不但源文件打开速度极慢,代码的编写和维护也将变得非常困难。

在实际开发中,程序员都是将这些代码分门别类地放到多个源文件中。除了这些成千上万行的代码,一个程序往往还要包含图片、视频、音频、控件、库(也可以说框架)等其它资源,它们也都是一个一个地文件。

为了有效地管理这些种类繁杂、数目众多的文件,我们有理由把它们都放到一个目录(文件夹)下,并且这个目录下只存放与当前程序有关的资源。实际上 IDE 也是这么做的,它会为每一个程序都创建一个专门的目录,将用到的所有文件都集中到这个目录下,并对它们进行便捷的管理,比如重命名、删除文件、编辑文件等。

工程类型/项目类型

“程序”是一个比较宽泛的称呼,它可以细分为很多种类,例如:

有的程序不带界面,完全是“黑屏”的,只能输入一些字符或者命令,称为控制台程序(Console Application),例如 Windows 下的 cmd.exe,Linux 或 Mac OS 下的终端(Terminal)。

有的程序带界面,看起来很漂亮,能够使用鼠标点击,称为GUI程序(Graphical User Interface Program),例如微信、淘宝 等。

有的程序不单独出现,而是作为其它程序的一个组成部分,普通用户很难接触到它们,例如静态库、动态库等。

不同的程序对应不同的工程类型(项目类型),使用 IDE 时必须选择正确的工程类型才能创建出我们想要的程序。换句话说,IDE 包含了多种工程类型,不同的工程类型会创建出不同的程序。

不同的工程类型本质上是对 IDE 中各个参数的不同设置;我们也可以创建一个空白的工程类型,然后自己去设置各种参数(不过一般不这样做)。

控制台程序对应的工程类型为“Win32控制台程序(Win32 Console Application)”,GUI程序对应的工程类型为“Win32程序(Win32 Application)”。

控制台程序是 DOS 时代的产物了,它没有复杂的功能,没有漂亮的界面,只能看到一些文字,虽然枯燥无趣,也不实用,但是它非常简单,不受界面的干扰,所以适合入门,等大家对编程掌握的比较熟练了,能编写上百行的代码了,再慢慢过渡到GUI程序。

链接(Link)

源代码经过编译(Compile)后就变成了可执行文件,其实这种说法有点欠佳。源代码要经过编译(Compile)和链接(Link)两个过程才能变成可执行文件。

编译器一次只能编译一个源文件,如果当前程序包含了多个源文件,那么就需要编译多次。编译器每次编译的结果是产生一个中间文件(可以认为是一种临时文件),而不是最终的可执行文件。中间文件已经非常接近可执行文件了,它们都是二进制格式,内部结构也非常相似。

将当前程序的所有中间文件以及系统库(暂时可以理解为系统中的一些组件)组合在一起,才能形成最终的可执行文件,这个组合的过程就叫做链接(Link)。完成链接功能的软件叫做链接器(Linker)。

有的朋友会产生疑问,是不是程序只包含了一个源文件,就不需要链接了呢?当然不是。经过编译后程序虽然只有一个中间文件,不再需要和其它的中间文件组合了,但是这个唯一的中间文件还需要和系统库组合,这个过程也是链接。也就是说,不管有多少个源文件,都必须经过编译和链接两个过程才能生成可执行文件。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:编译器一个编写C语言的必备工具
下一篇:在Windows平台如何选择C语言编译器?

C语言创建windows窗口实例

C++回调函数是什么?

C++ shared_ptr和动态数组

C语言有哪些关键词,C语言44个关键词大全

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省