gcc编译器如何使用_gcc编译器用什么语言写的

gcc编译器如何使用_gcc编译器用什么语言写的一、gcc编译流程GCC编译器在编译一份C代码的时候,需要经过以下4个步骤:预处理(preprocessing):对.c源文件进行预处理,生成.i文件。编译(compilation):对

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、gcc编译流程

GCC编译器在编译一份C代码的时候,需要经过以下4个步骤:

    预处理(preprocessing):对 .c 源文件进行预处理,生成 .i 文件。
    编译(compilation):对 .i 文件进行编译,生成 .s 汇编文件。
    汇编(assembly):对 .s 文件进行汇编,生成 .o 目标文件。
    链接(linking):对 .o 文件进行链接,生成可执行文件。

二、gcc命令使用

 2.1 gcc命令格式定义

       gcc编译器如何使用_gcc编译器用什么语言写的

  2.2 gcc命令常用参数

  2.2.1 基本参数

  -E:仅对源文件进行预处理,不进行编译。结果直接输出到显示屏。

      gcc编译器如何使用_gcc编译器用什么语言写的

  -S:对源文件进行预处理、编译,不进行汇编。结果以 .s 文件形式保存,与 .c 源文件同名。

      gcc编译器如何使用_gcc编译器用什么语言写的

  -c:对源文件进行预处理、编译、汇编,不进行链接。结果以 .o 文件形式保存,与 .c 源文件同名。
         gcc编译器如何使用_gcc编译器用什么语言写的
  
-save-temps:保存编译过程中所产生的所有中间文件。中间文件名与 .c 源文件同名,后缀为 .i 、.s、.o
        gcc编译器如何使用_gcc编译器用什么语言写的

        gcc编译器如何使用_gcc编译器用什么语言写的
  2.2.2 调试参数

  -o:将任何类型的输出都存放至指定的文件中。

      gcc编译器如何使用_gcc编译器用什么语言写的
  
-Wall:打开编译器的警告标志,尽可能多的输出警告信息。强烈建议,编译时始终带上 -Wall 选项。
        gcc编译器如何使用_gcc编译器用什么语言写的
  
-Werror:将所有的警告当成错误处理,必须消除警告才能继续编译。
        gcc编译器如何使用_gcc编译器用什么语言写的
 2.2.3 函数库参数

  -llibrary:手动指定函数库library参与链接。库名为library,文件名为liblibrary.a或liblibrary.so

  -Ldir:手动添加一个路径dir,用以搜索库文件(.a 或 .so 文件,即手动指定的函数库文件的所在目录)。

  -Idir:手动添加一个路径dir,用以搜索头文件(.h 文件,即源码内#include要包含的文件的所在目录)。

      gcc编译器如何使用_gcc编译器用什么语言写的

        gcc编译器如何使用_gcc编译器用什么语言写的

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167866.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 车载以太网PHY_车载以太网两根线

    车载以太网PHY_车载以太网两根线车载以太网PHY

  • Android Developer_Android api

    Android Developer_Android apiAndroidNforDevelopers重要的开发者功能多窗口支持通知JIT/AOT编译快速的应用安装路径外出瞌睡模式后台优化DataSaver快速设置图块API号码屏蔽来电过滤区域设置和语言Android中的ICU4JAPIOpenGLES3.2APIAndroidTV录制AndroidforWork辅助工具直接启动密钥认

  • c++报错无法打开文件_如何打开源文件

    c++报错无法打开文件_如何打开源文件一、无法打开文件“xxx.lib”出现这种错误一般为①未添加xxx.lib库文件②库添加后,路径不对,找不到对应的库文件路径解决方案:先查看库文件是否已经添加若未添加,右击项目->属性->链接器->输入;将库文件加入即可如果库文件已经添加,仍然报错,此时需要查看生成的库文件的路径了。先找到生成库文件的路径,右击项目->属性->常规->查看输出目录是否与生成的库文件的路径是否匹配,若不匹配,修改路径即可。二、无法打开源文件说明是库的附加包含路径有问题

    2022年10月21日
  • Python中单引号、双引号和三双引号的区别:

    Python中单引号、双引号和三双引号的区别:Python中单引号、双引号和三双引号的区别先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行如:s1="hello,world"如果要写成多行,那么就要使用\

  • istio服务网格技术解析与实践(istio apigateway)

    istio的第二篇主要介绍流量管理1.前言Istio的流量路由规则允许您轻松控制服务之间的流量和api调用。ISTIO简化了诸如断路器、超时和重试等服务级别属性的配置,并使设置重要任务(如A/B测试、金丝雀卷展和具有基于百分比的流量分割的分阶段卷展)变得容易。它还提供了开箱即用的故障恢复功能,有助于使您的应用程序在从属服务或网络故障时更加健壮。ISTIO的流量管理模型依赖于与您的服务一起部署…

  • 关闭networkmanager服务_电脑不小心禁用了无线网络怎么办

    关闭networkmanager服务_电脑不小心禁用了无线网络怎么办NetworkManager服务是管理和监控网络设置的守护进程,CentOS7更加注重使用NetworkManager服务来实现网络的配置和管理它是一个动态的,事件驱动的网络管理服务。常用管理命令:查看#systemctlstatusNetworkManager开启#systemctlstartNetworkManager关闭#systemctlstopNetworkManager不可用#systemctldisableNetworkManager可用#

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号