编译器gcc/g++

gcc 只用来编译C

g++ 编译C/C++


1.预处理(进行宏替换/去注释/条件编译/头文件展开等)

先创建 code.c 文件

-E   

--> 从现在开始,进行程序的翻译,一旦预处理做完,就停下来

-o

--> 表明 -o 后面的文件名称

code.i 保存的是code.c 预处理之后的结果

我们分屏同时打开

宏替换了,注释去了,条件编译也不见了

而code.i 前面有那么多内容是因为头文件展开(把要包含的头文件内容拷贝进头文件)

编译时编译源文件,和头文件无关

预处理完后还是C语言,是一个干净的C语言

2.编译(生成汇编)

-S

--> 开始进行程序翻译,编译做完,形成汇编,就停下来

3.汇编(生成机器可识别代码)

-c

--> 开始进行程序的翻译,汇编完成就停下来

-o

--> 1.可重定位二进制文件

      2.无法执行

1.二进制文件

2.无法执行

4.链接(生成可执行文件或库文件)

我们的 .o  文件和库文件进行链接 --> 可执行


头文件都在 include 路径下

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

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

相关文章

wordpress建DTC独立站为产品添加价格区间选择

要在WordPress中为DTC独立站的产品添加价格区间选择功能,可以通过以下步骤实现: 添加自定义字段:首先,需要在产品后台添加一个自定义字段,用于设置价格区间的最大值。这可以通过添加代码到子主题的 function.php 文件…

一.安装版本为19c的Oracle数据库管理系统(Oracle系列)

1.数据库版本信息: 版本信息: 或者直接由命令查出来: 2.操作系统的版本信息 3.安装包下载与上传 可以去oracle官网下载也可以从其他人的百度网盘链接中下载: 使用xftp工具或者其他的工具(mobaxterm)上传到l…

DimensionX 部署笔记

目录 生成视频用CogVideoX-5b-I2V 推理代码: DimensionX 生成视频用CogVideoX-5b-I2V 推理代码: 可以生成,从左向右旋转的,也可以生成从上往下旋转的: import torch from diffusers import CogVideoXImageToVideo…

uni-app移动端与PC端兼容预览PDF文件

过程遇到的问题 1、如果用的是最新的版本的pdfjs的话,就会报Promise.withResolvers 不是一个方法的错误,原因是Promise.withResolvers是ES15新特性,想了解可参考链接,这里的解决方案是将插件里的涉及到Promise.withResolvers的地…

Node.js | Yarn下载安装与环境配置

一、安装Node.js Yarn 是 Node.js 下的包管理工具,因此想要使用 Yarn 就必须先下载 Node.js。 推荐参考:Node.js | npm下载安装及环境配置教程 二、Yarn安装 打开cmd,输入以下命令: npm install -g yarn检查是否安装成功&…

简单的卡尔曼滤波器C#代码

用卡尔曼滤波来平滑温度数据,使得温度曲线变得更加平滑(即去噪声,避免短期内的剧烈波动)。在这种情况下,卡尔曼滤波的目标是基于传感器的噪声数据来估计真实的温度,从而降低噪声的影响。 简单的温度卡尔曼…

开源TTS语音克隆神器GPT-SoVITS_V2版本地整合包部署与远程使用生成音频

文章目录 前言1.GPT-SoVITS V2下载2.本地运行GPT-SoVITS V23.简单使用演示4.安装内网穿透工具4.1 创建远程连接公网地址 5. 固定远程访问公网地址 前言 本文主要介绍如何在Windows系统电脑使用整合包一键部署开源TTS语音克隆神器GPT-SoVITS,并结合cpolar内网穿透工…

分布式系统学习笔记

除了分布式爬虫系统,还有许多分布式系统值得学习和实践,它们在不同领域有广泛应用,积累相关经验对找工作非常有帮助。以下是一些常见的分布式系统类型及学习建议: 1. 分布式存储系统 应用场景: 大规模数据的存储与访…

[Docker#11] 容器编排 | .yml | up | 实验: 部署WordPress

目录 1. 什么是 Docker Compose 生活案例 2. 为什么要使用 Docker Compose Docker Compose 的安装 Docker Compose 的功能 使用步骤 核心功能 Docker Compose 使用场景 Docker Compose 文件(docker-compose.yml) 模仿示例 文件基本结构及常见…

鸿蒙NEXT应用示例:切换图片动画

【引言】 在鸿蒙NEXT应用开发中,实现图片切换动画是一项常见的需求。本文将介绍如何使用鸿蒙应用框架中的组件和动画功能,实现不同类型的图片切换动画效果。 【环境准备】 电脑系统:windows 10 开发工具:DevEco Studio NEXT B…

Spring Cloud Gateway(分发请求)

Spring Cloud Gateway 的过滤器和 Spring MVC 的拦截器的区别 过滤器用于整个微服务系统的网关层控制,拦截器则用于单个微服务内部的控制层请求处理。 1. 作用范围 Spring Cloud Gateway 过滤器:过滤器的作用范围是在网关层,主要在请求进入后…

【spring 】Spring Cloud Gateway 的Filter学习

介绍和使用场景 Spring Cloud Gateway 是一个基于 Spring Framework 5 和 Project Reactor 的 API 网关,它旨在为微服务架构提供一种简单而有效的方式来处理请求路由、过滤、限流等功能。在 Spring Cloud Gateway 中,Filter 扮演着非常重要的角色&#…

opencv(c++)图像的灰度转换

opencv(c)图像的灰度转换 quickopencv.h #pragma once #include <opencv2/opencv.hpp> using namespace cv; class QuickDemo { public:void colorSpace_Demo(Mat& image); };quickopencv.cpp #include "quickopencv.h"// QuickDemo类中的颜色空间演示函…

problem forward和solution backward有什么区别

Note: 在具体研究中&#xff0c;problem forward是先提出问题&#xff0c;然后围绕着科学问题设计出完美的解决方案&#xff1b;而solution backward是先盘算自己有哪些技术&#xff0c;有哪些解决方案&#xff0c;反过来去寻找和定义问题。

C++构造函数详解

构造函数详解&#xff1a;C 中对象初始化与构造函数的使用 在 C 中&#xff0c;构造函数是一种特殊的成员函数&#xff0c;它在创建对象时自动调用&#xff0c;用来初始化对象的状态。构造函数帮助我们确保每个对象在被创建时就处于一个有效的状态&#xff0c;并且在不传递任何…

LeetCode 445.两数相加 II

题目&#xff1a; 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数字都不会以零开头。 思路&#xff1a;反转链表 两数相加 I 代码&…

使用WebSocket技术实现Web应用中的实时数据更新

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用WebSocket技术实现Web应用中的实时数据更新 使用WebSocket技术实现Web应用中的实时数据更新 使用WebSocket技术实现Web应用中…

基于STM32的智能路灯控制系统设计

引言 随着城市建设的发展&#xff0c;路灯管理逐渐成为智慧城市建设的重要组成部分。传统路灯系统无法根据环境条件进行智能调节&#xff0c;导致能源浪费。本项目基于STM32微控制器设计了一种智能路灯控制系统&#xff0c;系统能够根据光照强度和周围人员活动情况&#xff0c…

奇文网盘部署指南

内容来自官方 官方地址 https://pan.qiwenshare.com/docs/guide/install.html#%E5%90%8E%E5%8F%B0 #下载编译 #后台 git clone https://gitee.com/qiwen-cloud/qiwen-file.git本项目是本质上是一个maven工程&#xff0c;因此&#xff0c;在命令行执行普通的maven编译命令即可…

[N1CTF 2018]eating_cms

打开题目 只有个登录框&#xff0c;其他什么都没有&#xff0c;尝试了一下弱口令&#xff0c;没能成功 尝试访问一下register.php&#xff0c;看看能不能注册个账号 注册页面&#xff0c;随便注册个账号登陆一下 url中感觉是个注入点&#xff0c;尝试使用file伪协议读取一下us…