返回顶部
首页 > 资讯 > 精选 >汇编语言教程文件后缀大小写S区别是什么
  • 462
分享到

汇编语言教程文件后缀大小写S区别是什么

2023-06-25 13:06:47 462人浏览 八月长安
摘要

本篇内容主要讲解“汇编语言教程文件后缀大小写S区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“汇编语言教程文件后缀大小写S区别是什么”吧!一、大小写后缀的区别.s   &nbs

本篇内容主要讲解“汇编语言教程文件后缀大小写S区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“汇编语言教程文件后缀大小写S区别是什么”吧!

一、大小写后缀的区别

.s     汇编语言源程序;汇编
.S     汇编语言源程序;预处理,汇编

小写的s文件,在后期阶段不在进行预处理操作,所以我们不能在这里面写预处理的语句在里面

大写的S文件,还会进行预处理、汇编等操作,所以我们可以在这里面加入预处理的命令

 二、编译的相关流程

预处理(Pre-Processing)-->编译(Compiling)-->汇编(Assembling)-->链接(Linking)

1、预处理器

       根据以字符#开头的命令(directives),修改原始的C程序。

       这个阶段并不会去检查代码的错误,只会把#的语句转成C代码。

2、编译阶段

       在这个阶段中,GCc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,Gcc把代码翻译成汇编语言。用户可以使用”-S”选项来进行查看,该选项只进行编译而不进行汇编,生成汇编代码。汇编语言是非常有用的,它为不同高级语言不同编译器提供了通用的语言。如:C编译器和Fortran编译器产生的输出文件用的都是一样的汇编语言。

3、汇编阶段

       汇编阶段是把编译阶段生成的”.s”文件转成目标文件,读者在此可使用选项”-c”就可看到汇编代码已转化为”.o”的二进制目标代码了。

4、链接阶段

       将库函数(头文件中用到的)等链接到目标文件中。

       在成功编译之后,就进入了链接阶段。在这里涉及到一个重要的概念:函数库
       "stdio.h"中也只有该函数的声明,而没有定义函数的实现,那么,是在哪里实现”printf”这些库函数的呢?最后的答案是:系统把这些函数实现都被做到名为libc.so.6的库文件中去了,在没有特别指定时,gcc会到系统默认的搜索路径”/usr/lib”下进行查找,也就是链接到libc.so.6库函数中去,这样就能实现函数”printf” 了,而这也就是链接的作用。
       函数库一般分为静态库和动态库两种。静态库是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了。其后缀名一般为”.a”。动态库与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,这样可以节省系统的开销。动态库一般后缀名为”.so”,如前面所述的libc.so.6就是动态库。gcc在编译时默认使用动态库。

       完成了链接之后,gcc就可以生成可执行文件。

到此,相信大家对“汇编语言教程文件后缀大小写S区别是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 汇编语言教程文件后缀大小写S区别是什么

本文链接: https://lsjlt.com/news/304905.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 汇编语言教程文件后缀大小写S区别是什么
    本篇内容主要讲解“汇编语言教程文件后缀大小写S区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“汇编语言教程文件后缀大小写S区别是什么”吧!一、大小写后缀的区别.s   &nbs...
    99+
    2023-06-25
  • 汇编语言教程文件后缀大小写S区别分析详解
    目录一、大小写后缀的区别二、编译的相关流程1、预处理器2、编译阶段3、汇编阶段4、链接阶段一、大小写后缀的区别 .s 汇编语言源程序;汇编 .S 汇编语言源程序;预处理,汇编 小写的...
    99+
    2024-04-02
  • 汇编语言和c语言的区别是什么
    区别:1、因为汇编语言实质上是机器语言的助记符,是直接面对CPU的语言,所以汇编语言的运行效率比C语言高;2、汇编语言对硬件的可操控性强,C语言硬件可操控性比较差;3、汇编语言的目标代码体积小,C语言目标代码体积大;4、汇编语言不易维护,C...
    99+
    2023-05-14
    汇编语言 C语言
  • 汇编语言功能字符串大小写转换实现方法是什么
    本篇内容介绍了“汇编语言功能字符串大小写转换实现方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题1:将data段中的第一个字符串...
    99+
    2023-06-25
  • Java编程语言中sleep()和yield()的区别是什么
    这篇文章主要讲解了“Java编程语言中sleep()和yield()的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java编程语言中sleep()和yield()的区别是什么”吧...
    99+
    2023-06-17
  • c语言中源文件编译后生成的文件是什么
    这篇文章主要介绍“c语言中源文件编译后生成的文件是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“c语言中源文件编译后生成的文件是什么”文章能帮助大家解决问题。c语言编译后生成“.OBJ”的二进制...
    99+
    2023-07-04
  • 异步编程中Java文件和对象的区别是什么?
    在Java异步编程中,文件和对象是两个常见的概念。虽然它们在某些方面相似,但在其他方面却有很大的不同。本文将介绍Java异步编程中文件和对象之间的区别,并提供一些示例代码来帮助您更好地理解这些概念。 Java文件 Java文件是一个存储在...
    99+
    2023-07-07
    文件 异步编程 对象
  • 编程语言中URL、URI和URN三者之间的区别是什么
    本篇内容主要讲解“编程语言中URL、URI和URN三者之间的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“编程语言中URL、URI和URN三者之间的区...
    99+
    2024-04-02
  • Python和JavaScript这两种流行的编程语言之间的主要区别是什么
    Python和JavaScript这两种流行的编程语言之间的主要区别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python和JavaScript这两种...
    99+
    2023-06-15
  • Go语言编程中分布式文件系统的设计原则是什么?
    随着互联网的快速发展,越来越多的企业和个人开始关注分布式系统的设计与实现。而分布式文件系统作为分布式系统中重要的组成部分,其设计原则也越来越受到人们的关注。 Go语言作为一门现代的高性能编程语言,越来越多的人开始使用Go语言来实现分布式文...
    99+
    2023-08-02
    编程算法 文件 分布式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作