Linux下编译运行C语言文件(建议收藏)

这篇具有很好参考价值的文章主要介绍了Linux下编译运行C语言文件(建议收藏)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、准备C文件

在命令行模式下输入:vim test.c(vi也可以,但建议用vim)

进入编辑模式,输入以下代码:

#include<stdio.h>
 
int main(){
    printf("Hello World!\n");
    return 0;
}


首先点击ESC键退出编辑模式,然后输入:wq(注意输入的时候有冒号哦)回到命令行。

linux编写c语言并运行,c语言,编辑器

 

二、 编译

编译C文件成可执行文件

执行的命令:gcc test.c -o test

输入ls命令,能看到当前文件夹下多了一个文件:test.out

linux编写c语言并运行,c语言,编辑器

 

三 、 执行

执行:./test.out

可得输出hello World!

linux编写c语言并运行,c语言,编辑器

 

四、 编译的四个步骤

使用gcc把C文件编译成可执行文件可分为四步:预编译、编译、汇编、连接。

1、预编译(生成.i文件)

预编译器cpp把源文件和相关的头文件(如实例代码中的头文件stdio.h)预编译成一个.i的文件。

执行的命令:gcc -E test.c -o test.i

预编译的作用:

a、处理所有的“#include”预编译指令

b、处理所有的"#define"指令,将代码中所有的"#define"删除,并展开所有的宏定义

c、处理所有的条件预编译指令,如#if #elif #else #ifdef #ifnodef #endif等

d、删除所有的注释

e、添加行号和文件名标识,以便产生错误时给出提示信息

2、编译(生成.s文件)

编译器gcc把预处理后的文件进行语法分析、语义分析以及优化后生成汇编代码文件。

执行的命令:gcc -S test.i -o test.s

3、汇编(生成.o文件)

汇编器把汇编代码文件转换成中间目标文件

执行的命令:gcc -c test.s -o test.o  (注意:这里是小写的-c,而不是大写的-C,本人在此处踩坑,出现异常)

4、链接(生成可执行文件)

链接器ld把目标文件与所需要的所有的附加的目标文件(如静态链接库、动态链接库)链接起来成为可执行的文件

执行的命令:gcc test.o -o test文章来源地址https://www.toymoban.com/news/detail-709542.html

到了这里,关于Linux下编译运行C语言文件(建议收藏)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详细介绍Linux的vim命令以及vim的配置,强烈建议收藏【Linux】

    vim在我们做开发的时候,主要解决我们编写代码的问题,本质上就是一个多模式的文本编辑器。 我们这里主要介绍vim最常用的三种模式:命令模式、插入模式、底行模式。 1、命令模式(Normal mode)。 在命令模式下,我们可以控制屏幕光标的移动,字符、字或行的删除,复制

    2024年02月13日
    浏览(56)
  • 【Linux】Shell脚本之函数的操作+实战详解(建议收藏⭐)

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 函数是一段可以重复利用有组织的代码;可以减少代码,提高代码利用率,使脚本结构更加清晰。 这样只是写

    2024年02月05日
    浏览(49)
  • 【Linux】常用的文本处理命令详解 + 实例 [⭐实操常用,建议收藏!!⭐]

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月13日
    浏览(48)
  • 【Linux】 shell脚本的创建及使用 《入门到实践》详解( 建议收藏 )

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! shell 用户与内核沟通的桥梁 第一类:bash sh csh 第二类:ksh 将命令按照一定顺序保存到文件中,统一执行 解决

    2024年02月04日
    浏览(40)
  • Linux 权限-+完整思维导图+实图例子+深入细节+通俗易懂建议收藏

            当时间的主人,命运的主宰,灵魂的舵手。上一回已将基础权限全部学习完了,本章开始我们将进入到权限的学习。 话不多说安全带系好,发车啦 (建议电脑观看) 。 附:红色,部分为重点部分;蓝颜色为需要记忆的部分(不是死记硬背哈,多敲);黑色加粗

    2024年02月06日
    浏览(43)
  • IntelliJ IDEA无公网远程Linux服务器环境开发(建议收藏!)

    IDEA的远程开发功能,可以将本地的编译、构建、调试、运行等工作都放在远程服务器上执行,而本地仅运行客户端软件进行常规的开发操作即可,旧版本IDEA目前不支持该功能.,本例使用的是IDEA2023.2.5版本 下面介绍如何在IDEA中设置远程连接服务器开发环境并结合Cpolar内网穿透工

    2024年02月05日
    浏览(46)
  • Linux 指令(一)+完整思维导图+实图例子+深入细节+通俗易懂建议收藏

            在上一章,我们已经将Linux环境的安装起来了,从本章开始,我们将正式的进入到Linux的学习,Linux的学习还是比较的枯燥无味的,但我们要吃得苦中苦,让我们一起加油,进大厂拿到心仪的offer! 话不多说安全带系好,发车啦 (建议电脑观看) 。 附:红色,部分为

    2024年02月02日
    浏览(49)
  • Linux 指令(三)+完整思维导图+实图例子+深入细节+通俗易懂建议收藏

    涓滴之水终可磨损大石,不是由于它的力量强大,而是由于昼夜不舍的滴坠。今天我们继续学习Linux指令。 话不多说安全带系好,发车啦 (建议电脑观看) 。 附:红色,部分为重点部分;蓝颜色为需要记忆的部分(不是死记硬背哈,多敲);黑色加粗或者其余颜色为次重点

    2024年02月06日
    浏览(39)
  • 运维必备Linux学习day1(建议收藏,运维面试100%会涉及)

    一.找回root密码 找到以““Linux16”开头内容所在的行数”,在行的最后面输入: init=/bin/sh 输完红色命令后 Ctrl + X 命令 接下来在光标闪烁处,输入指令: mount -o remount,rw / (注意:各个单词间有空格) 光标闪烁的位置中,输入passwd,输入一次密码并确认密码 光标闪烁的位置

    2024年03月10日
    浏览(59)
  • 【Linux】firewall-cmd之防火墙简介及命令详解【附加实战⭐建议收藏!!⭐】

    【Linux】firewall-cmd之防火墙简介及命令详解+实例   在CentOS 7中,新引入了firewalld防火墙,取代了CentOS 6之前的iptables防火墙。   iptables用于过滤数据包,属于网络层防火墙。iptables主要是基于接口,来设置规则,从而判断网络的安全性。   firewalld能够允许哪些服务可用,

    2024年02月02日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包