编译自己的源程序为可执行文件
① 如何在linux环境下编辑一个c语言源程序并将其编译为可执行文件
打开安装好的Linux系统(ubuntu18.04)
1.安装编辑器
使用语句:sudo apt-get install vim安装vim,可以在安装前查看是否安装vim编辑器。(特别提示:在安装vim前最好将软件更新,使用指令sudo apt-get update.)之所以要加sudo的原因是这些安装和更新软件的时候需要使用管理员权限才可以进行。
2.安装gcc编译器
和安装vim类似使用sudo apt-get install gcc,安装完成后可以使用cc-v来查看编译器版本信息等。cc -v界面如下:
② 如何将编写好的C语言源程序变成可执行文件EXE
以GCC编译器为例,可以分为四步。x0dx0a第一步是预处理,包括语法检查等工作。x0dx0agcc -P abc.cx0dx0a第二步由源程序生产汇编语言代码。x0dx0agcc -S abc.c x0dx0a会生成abc.s文件,这个文件里就是汇编代码。x0dx0a第三步编译器生成目标代码,一个源文件生成一个目标代码。x0dx0agcc -c abc.cx0dx0a会生成abc.ox0dx0a第四步连接器从目标代码生成可执行文件。x0dx0agcc abc.ox0dx0ax0dx0a目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。
③ 如何将编写好的C语言源程序变成可执行文件EXE
从网上转来的
编译
F5
使用Turbo
C来调试C程序的示例:
1、首先打开turboc,方法很简单啦:找到turboc所在目录,然后双击TC.exe。
2、然后会出现一个窗口,使用Alt+F组合键打开菜单选择New选项回车新建文件
3、然后输入c语言源程序(这里特别注意要细心,千万不要输错了)
4、好当很长很长的源程序输入完以后(虽然很多同学刚刚接触c语言,还不知道自己输了半天输的是什么)接一下检查一下自己输入的程序是否语法正确,然后使用Alt+R组合键打开菜单选择Run选项回车,也就是运行选项(主要是看看输了半天的程序在计算机当中运行是个什么东东)
5、好像没有什么表示吗,不要着急不是计算机出了问题,这个时候用Alt+R组合键选择User
Scren选项回车
6、怎么样是不是有结果了.
7、好一个程序调试完毕我们需要保存一下我们辛苦劳动的结果,用Alt+F组合键选择Save选项回车保存我们的程序(注意保存的目录和文件名,文件名要以扩展名.c结尾)
④ 简述将源程序编译成可执行程序的过程
一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接。其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。
预编译:主要处理源代码文件中的以“#”开头的预编译指令。处理规则如下:
1、删除所有的#define,展开所有的宏定义。
2、处理所有的条件预编译指令,如“#if”、“#endif”、“#ifdef”、“#elif”和“#else”。
3、处理“#include”预编译指令,将文件内容替换到它的位置,这个过程是递归进行的,文件中包含其他文件。
4、删除所有的注释,“//”和“/**/”。
5、保留所有的#pragma 编译器指令,编译器需要用到他们,如:#pragma once 是为了防止有文件被重复引用。
6、添加行号和文件标识,便于编译时编译器产生调试用的行号信息,和编译时产生编译错误或警告是能够显示行号。
(4)编译自己的源程序为可执行文件扩展阅读:
编译过程中语法分析器只是完成了对表达式语法层面的分析,语义分析器则对表达式是否有意义进行判断,其分析的语义是静态语义——在编译期能分期的语义,相对应的动态语义是在运行期才能确定的语义。
其中,静态语义通常包括:声明和类型的匹配,类型的转换,那么语义分析就会对这些方面进行检查,例如将一个int型赋值给int*型时,语义分析程序会发现这个类型不匹配,编译器就会报错。
⑤ 用编译程序可将c语言源程序变为什么程序
你好,C语言通过编译之后,会变为计算机能够执行的程序。
源程序(源代码)是指按照一定的程序设计语言规范编写的未经过编译的文本文件,是具有可读性的计算机语言指令。可以比作自己手写的程序代码。可执行程序(Executable Program,EXE file)是可以在操作系统存储空间中浮动定位的二进制可执行程序。一般软件安装后会生成可执行文件,可以直接加载到内存中,操作系统加载并执行。
以 C 语言为例,自己编写的源代码文件扩展名为 c,这个 c 文件就是源文件。从源文件到可执行文件一般需要经过几个步骤:预处理->编译->汇编->链接这四个过程。
希望我的回答能够帮助到你。