什么是代码,源文件、编辑和编译?
文章目录
- 1 前言
- 2 代码
- 3 源文件
- 3.1 关于后缀名
- 3.2 特别注意
- 4 编辑
- 5 编译
- 6 小结
1 前言
在给本科一二年级的学生教学C语言时,发现有不少同学由于使用计算机少或缺少基本理论的教学,对这程序设计中的很多基本概念并不了解,比如一些基本的文件和后缀名的概念都不清楚,给C语言的实践带来了很多麻烦。所以本文就程序设计的一些相关的基本概念进行简要介绍(注:如无特别指出,所有的示例均指C语言)。
2 代码
我们需要了解的第一概念是代码(也称源代码)。代码是指程序开发人员根据编程语言的语法规则,所编写的用于实现某些功能操作的语句的集合。如以下的示例代码:
#include <stdio.h>
int main()
{printf("Hello world!\n");return 0;
}
3 源文件
代码的本身就是一串文本形式的数据,需要有一个地方来存储。在计算机中,几乎所有的系统都使用文件来存储数据,所以源文件就是保存代码的文件。比如,我可以用一个记事本文件 hello.txt
来保存代码。
3.1 关于后缀名
为了区分源代码文件和普通文件,一般使用不同的后缀名表示,如C语言就使用 .c
,Java 用 .java
,python用 .py
等。这样的目的是为了更好地区分不同的文件类型,但是本质上都是一样的文本文件,没有本质区别。
3.2 特别注意
在Windows中会自动隐藏后缀名,比如在新建一个文本文件后,只能看到新建文本文件
看不到后缀名 .txt
。Windows默认隐藏后缀名的设定给很多初学者带来麻烦。解决的办法只需要简单设置一下即可。在Win10中,只需在文件资源管理器中勾选“查看->文件扩展名”即可,如下图所示(Win7系统点 这里)。
4 编辑
编辑是对文件内容的修改。由于数据保存在文件中,我们需要一个工具来修改文件,例如对于文本文件 .txt
,双击时系统会自动使用系统自带的 notepad 打开、编辑和保存修改内容。对于源文件,同样地我们也需要编辑器来进行编译操作。一般可以对源代码进行操作的编译器有很多,如 Notepad++, Atom, Sublime Text等,推荐初学者使用 Notepad++,不仅免费,而且功能强大。
5 编译
我们所编写的代码是纯文本文件,是为了方便人阅读和查看,所以机器是没有办法执行的。为了让机器能够执行程序,需要进行一个转换操作,将人工编写的代码转换为机器可以执行的程序,就是编译。举例来说,编译就是将 hello.c
转换为 hello.exe
的过程即: hello.c ==编译==> hello.exe
。编译后,hello.exe
的内容变成了机器可读而人无法阅读的纯二进制码,如下图所示(上面为 hello.c
,下面为 hello.exe
):
同时两个文件的大小也不一样,源文件体积很小只有1KB,而生成的程序为54KB,如下图所示:
6 小结
本文就代码,源文件和编译进行了简单的解释,希望对大一大二的同学有所帮助。
什么是代码,源文件、编辑和编译?相关推荐
- 拓扑排序:如何确定代码源文件的编译依赖关系
什么是拓扑排序? 由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序 拓扑排序有何应用? 我们知道,一个完整的项目往往会包含很多代码源文件.编译器在编译整个项目的时候,需要按照依赖关 ...
- Linux下C程序的编辑,编译和运行以及调试
...
- Java程序的编辑、编译、运行
Java程序 Java程序包括Java应用程序(Java Application)和Java小应用程序(Java Applet) Java应用程序是完整的程序,一般可以独立运行在Java虚拟机上,而J ...
- 【Groovy】编译时元编程 ( ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性 | 完整代码示例及进行编译时处理的编译过程 )
文章目录 一.ASTTransformation#visit 方法中访问 Groovy 类.方法.字段.属性 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groo ...
- 运用京东云代码托管、云编译、云部署等产品进行蓝绿部署简单实践
干货 | 运用京东云代码托管.云编译.云部署等产品进行蓝绿部署简单实践 前几天我们以一种较为传统的方式在京东云上简单实践了基于Jenkins+Docker+Git 的CI流程,主要利用一些开源技术来实 ...
- 正确理解以下名词及其含义:(1)源程序,目标程序,可执行程序(2)程序编辑,程序编译,程序连接(3)程序,程序模块,程序文件 (4)函数,主函数,被调用函数,库函数
正确理解以下名词及其含义: (1)源程序,目标程序,可执行程序. 源程序:指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令 目标程序:为源程序经编译可直接被 ...
- 在线 Beosin EOS-IDE 免费版本同时支持智能合约在线编辑、编译、运行调试、部署
Beosin EOS-IDE 是一款免费的面向EOS区块链平台的智能合约在线集成开发环境,可同时支持合约开发.部署.测试和源码调试等功能的在线区块链应用开发集成环境. Beosin EOS-IDE产品 ...
- Beosin成都链安发布在线EOS-IDE免费版本 EOS智能合约在线编辑、编译、运行调试、部署一步到位...
Beosin EOS-IDE产品链接: https://beosin.com/EOS-IDE/index.html#/ (推荐Chrome浏览器) 每一个区块链开发的程序员都需要一个界面友好,操作方便 ...
- 厉害了,手把手教你搭建一个代码在线编辑预览工具
点击下方"前端开发博客",选择"设为星标" 回复"2"加入前端群 简介 大家好,我是一个闲着没事热衷于重复造轮子的不知名前端,今天给大家带来 ...
最新文章
- java File类 常用相关函数
- 别瞎操心了!机器人根本不会抢你的饭碗
- js快速判断IE浏览器(兼容IE10与IE11)
- 2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016)
- 不用+、-、×、÷数字运算符做加法
- java图片的缩放_Java的图片自动缩放
- 歌词模拟项目c语言,C语言之歌词解析
- android 网络诊断工具,网络诊断工具MTR
- Velodyne VLP16 WIN下配置
- win7 下安装vs2010 pro 失败解决方法
- 问题解决:openCV处理视频、手机拍摄视频自旋转(90度)
- C语言冒泡排序(从大到小排序核心代码)
- MOSFET的SOA
- unilife-fridge-producetion-show
- ssm基于微信小程序的校园跑腿系统——计算机毕业设计
- 计算机一级网页制作教程视频教程,0626 网页设计与制作31讲,教学视频,湖南铁道职业技术学院陈承欢...
- 爬梯:Docker全解析(一)
- [伸展树]codevs1286 郁闷的出纳员
- 200行Perl 语言实现 VCD 转ATE测试pattern ---VCD的解析
- python文本替换
热门文章
- ckplayer网页视频在线播放
- 意图推荐 Metapath-guided Heterogeneous Graph Neural Network for Intent Recommendation
- 电池相关---电池保护
- 网易2018实习生招聘笔试题-C++开发实习生解答
- linux段错误core dumped,Linux下Segmentation fault(core dumped)简单调试方法
- 工作笔记-Hazelcast安装和基本配置
- C语言程序员未来发展前景如何
- 如何利用新闻传播进行产品网络推广?
- 陌生人社交已成主流,“灵魂”社交软件Soul的上市之忧
- 设计解谜游戏的30堂课