gcc编译

news2024/11/23 18:36:53

  gcc编译可执行程序有4个步骤:预处理、编译、汇编、链接。编译阶段消耗时间、系统资源最多。

在这里插入图片描述

  从源文件hello.c到目标可执行文件hello,可以按照下面的执行命令,一步一步生成。

gcc -E hello.c -o hello.i
gcc -S hello.i -o hello.s
gcc -c hello.s -o hello.o
gcc    hello.o -o hello

  但在实际开发中,使用下面一行命令就可以了。

gcc -o hello hello.c 

gcc常用命令参数

-v:

  查看gcc版本。

-E:

  进行预处理,生成.i文件。

-S:

  编译,生成.s文件。

-c:

  只作预处理、编译、汇编。得到.o文件,二进制文件。

-o:

  指定生成文件名。如果不指定输出文件名,则默认生成a.out。

-g:

  编译时添加调试文件。也就是指生成的可执行程序可以进行gdb调试。默认g2等级。

-On:

  编译优化,n越大优化的越多。n=0~3,默认优化等级是2。不能与-g一起使用。

-Wall:

  显示所有警告信息。

-I(大i):

  指定头文件所在目录。如果头文件和源文件不在同一目录,需要指定头文件所在目录。如果头文件和源文件在同一目录,可以省去指定。

-i:

  指定头文件名。一般不使用。

-L:

  指定库文件目录。

-l(小L):

  指定库文件名。

-D:

  向当前程序中注册一个宏定义。通常用于设置打印调试信息的开关。下列代码,调用“gcc -o hello hello.c -D DEBUG”编译,运行时就会打印出“i = 10”的信息。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i = 10;

#ifdef DEBUG
    printf("i = %d\n", i);
#endif
    
    printf("hello world!\n");
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/100560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息采编功能扩展开发心得

AEAI Portal门户为前端页面集成层而设计&#xff0c;在使用上简单、便捷&#xff0c;即使是非技术人员&#xff0c;通过操作文档也能够很好地将网站配置出来&#xff0c;不需要自身有很强的代码能力。同时门户平台搭配数通畅联的其他产品和组合方案&#xff0c;能够帮助企业快速…

nodejs+vue080大学社团管理系统

本系统主要有社团成员&#xff0c;社团团长和管理人员三个角色。 社团成员可以查看。新闻公告招新信息&#xff0c;并可在招新信息中申请加入喜欢的社团。可以在社团活动中申请自己想要参加的社团活动。 社团团长可以对自己所负责的社团内容进行管理。 管理人员可以对整个系统进…

kafka 的使用原理及通过spring-kafka 自定义封装包的原理

目录&#xff1a; Kafka 封装包接入 1.Kafka 工作原理2.Spring Kafka 介绍3. kafka封装包的设计及使用 Kafka 封装包接入 1.Kafaka 工作原理 1).kafka 的定义&#xff1a; 消息队列的两种模式&#xff1a; 1).点对点模式&#xff08;一对一&#xff0c;消费者主动拉取数据&…

Arduino框架下联盛德W801开发环境搭建教程

Arduino框架下联盛德W801开发环境搭建教程联盛德W801拥有自己的SDK集成开发工具&#xff0c;能做到这一点非常令人敬佩和了不起。国内好多芯片厂商都需要依托第三方开发工具集来实现对自己产品的开发。多元化开发方式可以满足不同层次开发人员的需求。对于芯片本身来说&#xf…

机器学习100天(十一):011 回归模型评估指标

机器学习100天,今天讲的是:线性回归评估指标! 一、哪个模型更好? 我们之前已经对房价预测的问题构建了线性模型,并对测试集进行了预测。 如图所示,横坐标是地区人口,纵坐标是房价,红色的点是实际样本分布。 使用不同的算法或策略构建了两个线性回归模型,如图,分别是…

Web3 的开发者,如何评估以及选择调用链上数据的解决方案

FP是链上数据分析平台以及数据处理基础设施&#xff0c;使命是让链上数据分析以及使用随手可得。目前&#xff0c;Footprint 从 22 条公链上收集、解析和清理数据&#xff0c;把无语义以及无序的链上数据&#xff0c;转化成让用户能使用无代码拖放界面、SQL等多种形式构建图表以…

TestStand-用户界面

文章目录简易用户界面全功能用户界面除序列编辑器外&#xff0c;TestStand自带的两类用户界面&#xff0c;分别是SimpleUI&#xff08;简易用户界面&#xff09;及Full-Featured UI&#xff08;全功能用户界面&#xff09;。简易用户界面 简易用户界面的源代码位于< TestSt…

[附源码]计算机毕业设计Python的专业技能认证系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

分享:广电用户服务大数据解决方案

1 方案背景 随着三网融合的深入推进&#xff0c;跨域竞争激烈&#xff0c;电信运营商、互联网企业、硬件设备商以及内容生产商等都将自身定位于视频产业的参与者并获取相应价值&#xff0c;视频服务已经不再成为广电网络运营商的专利&#xff0c;整个视频产业已经开始新一轮颠…

Understanding and Increasing Efficiency of Frank-Wolfe Adversarial Training

AT存在灾难性的过拟合&#xff0c;在训练过程中对抗精度下降&#xff0c;尽管已经提出了改进&#xff0c;但它们增加了训练时间&#xff0c;鲁棒性与多步 AT 相去甚远。我们开发了一个使用 FW 优化 (FW-AT) 进行对抗训练的理论框架&#xff0c;揭示了损失情况与 ℓ∞ FW 攻击的…

vue - vue中的publicPath讲解

vue.config.js里面的publicPath是部署应用包时的基本 URL&#xff1b; 从 Vue CLI 3.3 起baseUrl已被publicPath替代&#xff1b; 如果想要了解vue的环境变量 process.env 可以阅读这篇文章&#xff1a; vue中的process.env.NODE_ENV讲解 1&#xff0c;publicPath publicPath是…

七、ref引用与数组的常用方法

一、ref 引用 1.1、什么是 ref 引用 ref 用来辅助开发者在不依赖于jQuery的情况下&#xff0c;获取 DOM 元素或组件的引用。 每个vue的组件实例上&#xff0c;都包含一个$refs对象&#xff0c;里面存储着对应的 DOM 元素或组件的引用。默认情况下&#xff0c;组件的$refs指向…

语音识别芯片LD3320介绍

语音识别芯片LD3320简介 LD3320 芯片是一款“语音识别”芯片,集成了语音识别处理器和一些外部电路&#xff0c;包括AD、DA 转换器、麦克风接口、声音输出接口等。LD3320不需要外接任何的辅助芯片如Flash、RAM 等&#xff0c;直接集成在LD3320中即可以实现语音识别/声控/人机对…

黑*头条_第6章_kafka及异步通知文章上下架(新版)

黑*头条_第6章_kafka及异步通知文章上下架(新版) 文章目录黑*头条_第6章_kafka及异步通知文章上下架(新版)1)自媒体文章上下架2)kafka概述3)kafka安装配置4)kafka入门5)kafka高可用设计5.1)集群5.2)备份机制(Replication&#xff09;6)kafka生产者详解6.1)发送类型6.2)参数详解…

Linux|Ubuntu-18.04上安装discord(二进制安装)

前言&#xff1a; Discord是由两个沉迷游戏的玩家为了解决游戏种玩家交流问题而开发的一个语音聊天软件&#xff0c;它从游戏社交起家。 起初&#xff0c;Discord被定义为“永远在线的聊天室”&#xff0c;专门为游戏玩家设计&#xff0c;可以简单快捷的加入或退出某个群聊进…

【图像去雾】颜色衰减先验图像去雾【含Matlab源码 2036期】

⛄一、颜色衰减先验去雾算法简介 2015年Zhu等的颜色衰减先验去雾算法利用颜色衰减先验建立有雾图像的景深模型, 采用有监督学习的方式得到模型的参数, 结合大气散射模型得到去雾图像。具体内容如下: 1 大气散射模型 Zhu等的颜色衰减先验去雾算法利用计算机视觉和图形图像领域…

大开眼界的4款电脑软件,其中3款大小不到10M,功能却逆天

闲话少说&#xff0c;直上狠货&#xff0c;大开眼界。 1、Ocam录屏 Ocam是一款完全免费的录屏软件&#xff0c;大小仅有9M&#xff0c;功能却非常强大&#xff0c;界面简洁&#xff0c;操作简单一键录制&#xff0c;4k分辨率视频录制时&#xff0c;即便办公电脑配置不高&#x…

我国海洋油气行业勘探力度加大 整体探明程度有待提高 未来储量产量增长潜力仍很大

1、我国海洋油气资源储量情况 根据观研报告网发布的《2022年中国海洋油气市场分析报告-市场发展监测与发展动向预测》显示&#xff0c;根据全国第四次油气调查数据&#xff0c;海洋石油剩余技术可采储量占中国石油剩余技术可采储量的34%&#xff1b;海洋天然气剩余技术可采储量…

二叉搜索树详解

1.二叉搜索树的概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一颗空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值若它的右子树不为空&#xff0c;则右子树上所有的节点的值都大于根节点…

执行pip安装时,如何解决:Unknown or unsupported command install

目录 解决方案1&#xff1a;卸载LoadRunner——显然是不可行的 解决方案2&#xff1a;全路径执行pip 解决方案3&#xff1a;镜像 解决方案4&#xff1a;镜像更新 遇到这种情况一般都是因为已经安装了LoadRunner导致电脑上同时安装了多个pip&#xff0c;执行时&#xff0c;系…