本篇文章主要介绍如果在Ubuntu系统中编写C程序并将其一步步处理为可执行程序
机器环境:VMWare虚拟机 Ubuntu18.04,系统中安装了gcc编译器与vim工具

1.首先打开想要存放所编写的C程序的文件夹,在文件夹中空白处点击右键,接着点击“从终端打开”。2.输入命令:vim 程序名
实现的效果是在当前文件夹中创建一个C语言源程序文件(C文件要用.c后缀)
3.执行完第2步后进入如下图所示的界面,输入i进入文本编辑模式,只有进入了该模式才能编写程序。4.执行完第3步后的界面如图所示5.在窗口中输入程序代码,这里以最基础的helloWorld程序为例:
6.代码编写完成后先按键盘 Esc 键,然后输入 :wq 即可保存当前的C文件并退出编辑环境(注意冒号也要输入)7.退出编辑环境后自动回到之前的界面,此时输入命令

 gcc -E C文件名 -o 与C文件名同名的以.i为后缀的文件名

即可对C文件进行预处理(如include,define等)8.接着分别输入

gcc -S  .i文件名 -o .s文件名

表示对c语言源文件进行编译,转为汇编语言程序

gcc -c .s文件名 -o .o文件名

表示对生成的汇编语言程序进行汇编,生成机器语言程序

gcc .o文件名 -o 无后缀文件名

表示对多个机器语言程序和库函数进行链接,生成可执行程序

9.此时退出终端窗口,可以发现之前的文件夹中已经多出了这些程序文件

用Ubuntu编写第一个C程序并预处理、编译、汇编、链接相关推荐

  1. C语言 程序的翻译 预处理 编译 汇编 链接 #define详解

    1.程序的翻译环境和执行环境 执行环境:所在操作系统的平台 win10 win11 linux 翻译环境:MSVC gcc g++ 你的vs 2019 和2022 是集成开发环境把编辑器编译器全部给你 ...

  2. 【(Python解释器、Pycharm)安装教程】【使用PyCharm编写第一个Python程序】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] 目   录 1.Python 解释器 安装 1.1.手动配置环境变量步骤 2.PyCharm 程序 ...

  3. 用java编写一个图书管理系统_手把手教你编写第一个java程序

    安装完jdk后我们就可以试着编写第一个java程序了,让我们一起来试试吧! 第一步 点击开始--所有程序--附件--记事本,新建记事本,输入以下代码: class HelloWorld { publi ...

  4. 二.编写第一个c#程序(注释,命名空间,类,Main方法,标识符,关键字,输入,输出语句,)...

    复习编写一个控制台应用程序,目标是在控制台输出"Hello World" 1.第一步,打开Visual Studio 2012以上版本(我用的是VS 2015),打开完成后出现以下 ...

  5. 编写第一个Java程序:helloworld

    配置好java开发环境后,我们可以编写第一个java程序(helloworld). 在开始编写java程序时,我们要知道java程序开发的三个步骤:编写.编译.运行. 编写阶段主要是由程序员编写后缀为 ...

  6. vs2008编写第一个Windows程序

    vs2008编写第一个Windows程序 我们编写单击MouseClick事件的处理程序,当鼠标单击窗体时,在窗体的标题栏显示"这是我的第一个Windows程序". 1.在窗体设计 ...

  7. mac安装golang,编写第一个go程序

    一:下载pkg包,官网经常打不开,这里从云盘中下载 二:然后安装,一直next,命令行输入go version 或 go env如下说明成功 三:编写第一个go程序,新建hellow.go文件 pac ...

  8. 《教我兄弟学Android逆向01 编写第一个Android程序》

    前言 之所以准备写这一系列逆向的教程是因为有一些同学私信我说自己想学习Android逆向但是不知道怎么去学习 包括自己身边的一些计算机专业的同学 在大学里面老师讲的那些东西要么是自己不感兴趣 要么是自 ...

  9. eclipse怎么编写java程序_简单使用Eclipse编写第一个Java程序

    文章作者:姜南(Slyar)文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作. Eclipse是很常用的Java IDE,至少我们学校教Java都是用这个.下载就不 ...

最新文章

  1. Notes客户端重新配置批处理
  2. div+css中命名规范
  3. Chromium:编译,运行
  4. Elasticsearch入门之从零开始安装ik分词器
  5. 利用MyBatis的动态SQL特性抽象统一SQL查询接口
  6. 2018.5.28 PSOC第一枪:基于cypress的蓝牙开发
  7. 13万张表+数亿行代码,迁移只需数小时,还是异构数据库
  8. 解决问题 “You don‘t have permission to access /index.html on this server.”
  9. foreach写失效的问题
  10. Linux安全加固之账号密码安全策略
  11. html5二维动画教程,Flash二维动画制作案例教程
  12. GitHub 披露宕机原因;谷歌前 AI 研究员被解雇后成立独立研究所;常用 Linux 桌面版排行榜出炉 | 开源日报
  13. 社交网络影响力最大化——贪心算法实现(Python实现)
  14. 【Arduino+ESP32专题】一起来读INA3221数据手册 1
  15. Java中set.iterator()的用法;
  16. 【自己写全景】TreeJs实现全景图
  17. java中ceil怎么用举例_Java ceil() 方法
  18. 数字信号处理4:采样定理
  19. 一劳永逸 Win XP安装盘中集合驱动程序
  20. 浙江国税开票软件下载及安装打印调试指南

热门文章

  1. 一个游戏账号竟卖到7.5万元!
  2. codeforces1206D. Shortest Cycle (最小环)
  3. java 代码实现各数据的正则校验
  4. 语音和面部识别技术能帮助AI在情商上超越人类吗
  5. 解密:智能化变电站中PTP时钟同步(北斗时钟服务器)
  6. 第一次用示波器怎么使用(基础经验)
  7. MyBatis(2.1) 增删改查 mysql java
  8. Write Week 3 Blog beforehand
  9. Flutter Card使用
  10. 我和CSDN的故事(CDSN成立20周年———准程序员响应号召)