GNU Tools使用笔记

GCC命令选项

预处理器选项

-M选项

作用:生成源文件的依赖关系,包含了该源文件所有的依赖,默认会发送到标准输出(stdout)。
示例1:在ubuntu中,新建如下main.c、main.h、head1.h、head2.h文件。
main.c文件:

#include <stdio.h>
#include "main.h"void main(void)
{printf("Hello word!\r\n");
}

main.h文件:

#include "head1.h"
#include "head2.h"

head1.h、head2.h都是空的头文件。
在控制台执行gcc -M main.c命令,输出如下。

user@ubuntu:~/*path*$ gcc -M main.c 
main.o: main.c /usr/include/stdc-predef.h /usr/include/stdio.h \/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \/usr/include/x86_64-linux-gnu/bits/wordsize.h \/usr/include/x86_64-linux-gnu/bits/long-double.h \/usr/include/x86_64-linux-gnu/gnu/stubs.h \/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h \/usr/include/x86_64-linux-gnu/bits/types.h \/usr/include/x86_64-linux-gnu/bits/typesizes.h \/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \/usr/include/x86_64-linux-gnu/bits/types/FILE.h \/usr/include/x86_64-linux-gnu/bits/libio.h \/usr/include/x86_64-linux-gnu/bits/_G_config.h \/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \/usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h \/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \/usr/include/x86_64-linux-gnu/bits/sys_errlist.h main.h head1.h head2.h

-MM选项

作用:生成源文件的依赖关系,不包含标准系统头文件的依赖,默认会发送到标准输出(stdout)。
示例:同示例1代码。
在控制台执行gcc -MM main.c命令,输出如下。

user@ubuntu:~/*path*$ gcc -MM main.c 
main.o: main.c main.h head1.h head2.h

-MD选项

作用:生成源文件的依赖关系,包含了该源文件所有的依赖,输出到一个.d后缀的文件中。
示例:同示例1。
在控制台执行gcc -MD main.c命令,将在同级目录生成main.d文件,该文件的内容和-M选项输出的内容一致。

-MMD选项

作用:生成源文件的依赖关系,不包含标准系统头文件的依赖,输出到一个.d后缀的文件中。
示例:同示例1。
在控制台执行gcc -MMD main.c命令,将在同级目录生成main.d文件,该文件的内容和-MM选项输出的内容一致。

参考文献

[1] Using the GNU Compiler Collection For gcc version 9.2.1 (GNU Tools for Arm Embedded Processors 9-2019-q4-major)

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

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

相关文章

数据库的数据类型

文章目录 前言一、数据类型数据类型分类数值类型bit类型小数类型floatdecimal 字符串类型charvarcharchar和varchar比较 日期和时间类型enum和set 前言 一、数据类型 数据类型分类 数值类型 下面我们来创建一个表&#xff0c;表中创建一个tinyint类型的数据。当我们不指定tiny…

【贪心】重构字符串

/*** 思路&#xff1a;如果s长度小于2&#xff0c;直接返回s&#xff0c;假设字符串s的长度为n。* n为偶数&#xff0c;如果字符串中的某个字符数量超过 n/2 则肯定会存在相邻的字符。* n为奇数&#xff0c;如果字符串中的某个字符的数量超过 &#xff08;n1&am…

机器学习顶会ICML 2024今日开放投稿,CCF A类,中稿率27.94%(附ICML23杰出论文+18篇高分论文)

ICML 2024今天开放投稿了&#xff01;距离截稿还有24天&#xff0c;想冲ICML的同学速度&#xff01; ICML 全称 International Conference on Machine Learning&#xff0c;由国际机器学习学会&#xff08;IMLS&#xff09;举办&#xff0c;与NIPS一同被认为是人工智能、机器学…

debian 11 arm64 aarch64 D2000 平台编译 box86 box64 笔记

参考资料 https://github.com/ptitSeb/box86/blob/master/docs/COMPILE.md 源码地址 GitHub - ptitSeb/box86: Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices deb在线源地址&#xff08;打不开&#xff09;&#xff1a; Itais box86…

腾讯云免费服务器怎么申请?腾讯云免费服务器申请难吗?

腾讯云免费服务器申请入口 https://curl.qcloud.com/FJhqoVDP 免费服务器可选轻量应用服务器和云服务器CVM&#xff0c;轻量配置可选2核2G3M、2核8G7M和4核8G12M&#xff0c;CVM云服务器可选2核2G3M和2核4G3M配置&#xff0c;腾讯云服务器网txyfwq.com分享2024年最新腾讯云免费…

C++ 具名要求-全库范围的概念 - 一种等价关系(operator==)- 是一种严格弱序关系(operator< )

此页面中列出的具名要求&#xff0c;是 C 标准的规范性文本中使用的具名要求&#xff0c;用于定义标准库的期待。 某些具名要求在 C20 中正在以概念语言特性进行形式化。在那之前&#xff0c;确保以满足这些要求的模板实参实例化标准库模板是程序员的重担。若不这么做&#xf…

一文解析低代码平台

一、低代码概念 低代码开发平台是一种无需编码或者只需要少量代码即可快速生成应用程序的开发平台&#xff0c;通过可视化进行应用程序开发的方法&#xff0c;让不同经验水平的开发人员可以通过图形化的用户界面&#xff0c;使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程…

MySQL夯实之路-存储引擎深入浅出

innoDB Mysql4.1以后的版本将表的数据和索引放在单独的文件中 采用mvcc来支持高并发&#xff0c;实现了四个标准的隔离级别&#xff0c;默认为可重复读&#xff0c;并且通过间隙锁&#xff08;next-key locking&#xff09;策略防止幻读&#xff08;查询的行中的间隙也会锁定…

Redis:原理速成+项目实战——Redis实战13(GEO实现附近商铺、滚动分页查询)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis实战12&#xff08;好友关注、Feed流&#xff08;关注推送&#xff09;、滚动分页查…

基于ssm的校园预点餐系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于ssm的校园预点餐系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring Sp…

案例分享:游戏行业各岗位的KPI绩效指标制定

在游戏行业中&#xff0c;岗位种类繁多&#xff0c;每个岗位的职责和要求都有所不同。因此&#xff0c;制定合理的KPI&#xff08;关键绩效指标&#xff09;是确保团队高效运作的关键。 在竞争激烈的市场环境中&#xff0c;合理的KPI不仅有助于员工明确工作方向&#xff0c;还…

Pandas实战100例 | 案例 37: 从长格式转换为宽格式

案例 37: 从长格式转换为宽格式 知识点讲解 数据格式转换是数据处理中的一个常见需求。Pandas 提供了将数据从长格式&#xff08;每行是一个观测值&#xff09;转换为宽格式&#xff08;每个观测值成为一列&#xff09;的功能。 长格式转宽格式: 使用 pivot 方法可以将数据从…

大语言模型向量数据库

大语言模型&向量数据库 LARGE LANGUAGE MODELSA. Vector Database & LLM WorkflowB. Vector Database for LLMC. Potential Applications for Vector Database on LLMD. Potential Applications for LLM on Vector DatabaseE. Retrieval-Based LLMF. Synergized Exampl…

element+vue 之图片放大器

1.安装插件 npm install vue-photo-zoom-pro2.main.js导入 // 放大镜 import VuePhotoZoomPro from vue-photo-zoom-pro Vue.use(VuePhotoZoomPro)3.页面使用 <vue-photo-zoom-pro:url"imgUrl":out-zoomer"true":scale"2"style"width:…

Leetcode202快乐数(java实现)

今天分享的题目是快乐数&#xff1a; 快乐数的定义如下&#xff1a; 快乐数&#xff08;Happy Number&#xff09;是指一个正整数&#xff0c;将其替换为各个位上数字的平方和&#xff0c;重复这个过程直到最后得到的结果为1&#xff0c;或者无限循环但不包含1。如果最终结果为…

使用ElementUI的el-tab+vxe-table表格+复选框选择

效果&#xff1a; 功能&#xff1a;首先进来是全部清空的状态的 点击左边选择不同项右边会实时发送接口获取数据填充表格 复选的内容可以保留显示&#xff0c;比如A的1勾选后切换到B再切换回来A的1仍然是勾选状态 说实话官网的setCheckboxRow方法我实现不了&#xff0c;这里…

2024年华夏银行总行社会招聘公告

信息科技部自动化测试与开发类岗  工作地点&#xff1a;北京市 学历要求&#xff1a;本科及以上 工作职责 1、持续推进自动化测试的开展&#xff0c;提升自动化测试覆盖率,包括方案设计、测试分析、测试执行和总结等。 2、负责自动化测试工具和框架搭建&#xff0c;根据…

C语言实现单向循环链表

1.C语言实现 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> // 定义一个节点类 typedef struct Node {int data;// 数据域struct Node* next;// 指针域 }Node; // 定义初始化链表方法 Node* initList() {Node* list (Node*)malloc(sizeof(…

【数据库原理】(26)数据库并发控制

并发控制是数据库管理系统&#xff08;DBMS&#xff09;的核心功能之一。它确保在多个用户并行访问数据库时&#xff0c;数据库的一致性和完整性得到维护。 一.事务概述 1. 事务的定义 事务是数据库中基本的逻辑工作单位&#xff0c;由一系列操作组成&#xff0c;这些操作要…

CSAPP阅读笔记-信息的表示和处理

信息的表示和处理 包括整数、浮点数的存储格式、计算中可能存在的问题等 信息存储 大多数计算机使用8位的块&#xff0c;或者字节(byte)&#xff0c;作为最小的可寻址的内存单位&#xff0c;而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组&#xff0c…