民治制作网站/网络推广公司简介
问:
1. 什么是C语言的源代码?
2. 由于计算机只认识什么?因此它只能接收与执行什么?也就是什么?
3. 在ANSI C的任何一种实现中,存在哪两个不同的环境?在这两种环境里面分别干什么事情?
4. 因此什么东西依赖翻译环境?翻译环境实际上就是把什么经过一系列处理变成什么?
5. 翻译环境中的操作在VS上的具体体现演示一下?
6. 后缀为.exe文件里面包含的就是什么?也叫什么?
7. 由于VS2019是什么?因此自然能提供什么与什么?
8. 画出两张翻译环境中运转的简图?并且笼统简述一下?
9. 在翻译环境下又可以分成哪两个过程?然后其中的什么又可以细分为什么,什么与什么?
10. 每个.c文件都会怎么样地先经过什么阶段?可以手动通过什么在该阶段完了之后生成什么?但系统不会怎么样?在该阶段主要干什么,什么与什么?其中什么有比如什么,什么等等?因此总结一下,都是些什么操作?如什么与什么?
11. 接下来进入什么阶段?gcc会默认自动生成什么?这一步实际上就是在干什么?有各种具体细节,其中什么需要特别介绍?所谓的什么就是指什么与什么?然后把它们怎么样?
12. 然后进入什么阶段?gcc会默认自动生成什么?即什么?当生成该文件时,文件里面已经是什么了?发现直接打开怎么样?需要怎么样?elf就是什么?会怎么样?所以汇编阶段就是干什么?其中有哪个步骤特别要注意?它就是把之前的什么在加上什么就形成了一个什么?
13. 什么完成之后就是什么了?该阶段有哪两个步骤?第一个具体是什么?第二个具体是什么?并且怎么样?这时候什么的作用体现出来了?在什么的时候就需要通过什么去查找,如果在该什么查不到对应的内容,就会怎么样?
14. 什么过后就进入了什么?什么必须载入到什么当中?这个一般由谁会完成?程序从什么开始执行?在这过程中会有什么的开辟,什么也称为什么?程序还可以把数据放在哪里?等等,最后程序会终止。
15. 尤其要对什么进行详解?该阶段主要处理什么,什么还有什么?但需要牢记,都仅仅是什么?如什么与什么?
16. 预定义符号是怎么样的?在预处理阶段就会被怎么样?预定义符号有哪5个?
17. #define 预处理指令有哪两个形式?但核心都可以用什么来概括?写的时候不要加什么?不要吝啬什么?
18. #define 预处理指令在什么过程中尤其要注意什么?同时在什么过程中,什么是不会怎么样的?
19. 什么是宏?#define 定义宏本质上是什么?宏不能出现什么?
20. Solve the problems: 写一个程序快速高效地比较两个数的大小?
21. 详细解释一下带副作用的宏参数的易犯错之处?并解释原因?
22. #pragma once 是用来干什么的?还可以怎么实现这个目的?
答:
1. 也就是我自己写的test.c文件里面的代码。
2. 二进制,二进制指令,可执行的机器指令。
3. 翻译环境,执行环境,翻译环境就是把我写的源码转化为计算机能够看懂的二进制指令(可执行的机器指令),执行环境里就是实际执行代码。
4. 源码转化为计算机能识别的机器指令,test.c,test.exe。
5. 自己实操一下。
6. 可执行的机器指令,二进制指令。
7. 集成开发环境,翻译环境,执行环境。
8.


9. 编译与链接,编译,预处理(预编译),编译,汇编。
10. 各自独立互不联系,预处理,gcc命令,×××.i文件,默认自己生成,处理预定义符号,处理预处理指令,删除注释,预处理指令,#include,#define定义的标识符与宏,文本,替换,删除。
11. 编译,×××.s,把C语言预处理后的代码翻译成汇编代码,符号汇总,符号,具有全局性质的变量名,函数名,汇总记录。
12. 汇编,×××.obj/o文件,目标文件,二进制指令,打不开的,借助工具readelf,目标文件的格式,将自己划分为一个一个段,把汇编语言转化为二进制机器指令,形成符号表,汇总的符号,相应的地址,符号表。
13. 编译,链接,合并段表与符号表的合并与重定位,合并段表就是把之前互相独立的obj文件里面各自的段整合在一起,符号表的合并与重定位就是把之前互相独立的编译过程产生的各自的符号表整合在一起,有之前生成的随机地址的话就用正确的地址替代掉,符号表,链接,符号表,地址处,报错。
14. 翻译环境,执行环境,程序,内存,操作系统,main函数,函数栈帧,函数栈帧,运行时堆栈,静态区。
15. 预处理阶段,预定义符号,预处理指令,删除注释,文本操作,替换,删除。
16. 语言内置的,替换掉,如图:

17. 定义标识符,定义宏,文本替换,分号,括号。
18. 文本替换,不能凭借数学直觉自己加括号,文本替换,字符串,被搜索进去的。
19. #define机制允许把参数替换到文本中,文本替换,递归。
20.
#define MAX(x,y) ((x)>(y)?(x):(y))
21. 不能按照函数的思维去思考,因为宏在源码的预处理阶段就已经被无脑文本替换掉了不会涉及到任何的运算。
22. 为了防止头文件被重复包含,
#ifndef __T1_H__
#define __T1_H__
int Add(int x, int y);
#endif
个人觉得了解一下:
#define定义宏时的#与##符号?
宏与函数的对比?
命令行定义与条件编译?
#undef是什么?
#include <Elon.h>与 #include"Elon.h"的区别?
参考图片:




相关文章:

(C语言)程序环境和预处理
问:1. 什么是C语言的源代码?2. 由于计算机只认识什么?因此它只能接收与执行什么?也就是什么?3. 在ANSI C的任何一种实现中,存在哪两个不同的环境?在这两种环境里面分别干什么事情?4.…...

RiProV2主题美化增加支付页底部提示语ritheme主题美化
美化背景 默认的RiProV2主题在支付提示页,是没有这一行提示的 希望增加根据用户类别,未登录用户购买时提示:当前为游客模式购买。或者其他提示,提示用户未登录购买不保存购买记录等。 索引关键字:ritheme主题美化之增加支付页底部提示语,RiProV2主题美化增加支付页底部提…...

2022年文章分类整理
文章目录JetPack系列Kotlin相关View相关多线程相关存储相关Gradle相关动画相关其他2022年公众号(名字:代码说)发表的文章,分类整理一下,方便阅读!2023,继续加油,共勉!JetPack系列 Android Jetp…...

蓝牙设备中的Device UUID 与 Service UUID
Device UUID也可以被称作为DeviceID。 Android 设备上扫描获取到的 deviceId 为外围设备的 MAC 地址,相对固定。 iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间生成的 UUID,是设备上的Core Bluetooth为该设备分配的标识…...

【学习记录】PCA主成分分析 SVD奇异值分解
在看MSC-VO代码的过程中,大量出现了奇异值分解的内容,本身对这部分了解不多,这里补一下课,参考b站up主小旭学长的视频,链接为:PCA主成分分析和SVD主成分分析 PCA主成分分析 PCA根本目的在于让数据在损失尽…...

用 Python 调用 GPT-3 API
用 Python 调用 GPT-3 API GPT-3 是去年由 Open AI 推出的语言机器学习模型。它因其能够写作、写歌、写诗,甚至写代码而获得了广泛的媒体关注!该工具免费使用,只需要注册一个电子邮件即可。 GPT-3 是一种叫 transformer 的机器学习模型。具体…...

类和对象实操之【日期类】
✨个人主页: Yohifo 🎉所属专栏: C修行之路 🎊每篇一句: 图片来源 The pessimist complains about the wind; the optimist expects it to change; the realist adjusts the sails. 悲观主义者抱怨风;乐观主义者期望它…...

微搭中如何实现弹性布局
我们在实际开发中经常可能会有一些社交的场景,比如开发一个类似朋友圈九宫格图片展示的功能。因为图片的数量不确定,所以需要实现图片的从左到右顺序排列。 在微搭中可以以可视化的方式设置样式。但是对于我们这类特殊需求,只用可视化设置显…...

九龙证券|外资强势出手!这只科创板百元股,被疯狂加仓
本周,北上资金净买入29.32亿元,连续第13周加仓A股。分商场看,北上资金加仓重点倾向于沪市的白马蓝筹股,沪股通取得50.34亿元,深股通则被净卖出21.02亿元。 食品饮料本周取得逾23亿元的增持,居职业首位&…...

51单片机最强模块化封装(4)
文章目录 前言一、创建key文件,添加key文件路径二、key文件编写三、模块化测试总结前言 本篇文章将为大家带来按键的模块化封装,这里使用到了三行按键使得我们的代码更加简便。 按键原理:独立按键 一、创建key文件,添加key文件路径 这里的操作就不过多解释了,大家自行看…...

五、Git本地仓库基本操作——分支管理
1. 什么是分支? master分支 我们在初始化git仓库的时候,会默认创建一个master分支,HEAD指针这时就会默认执行master分支。当我们在master分支提交(commit)了更新之后,master分支就会指向当前当前最新的co…...

vscode搭建python Django网站开发环境
这里使用pip安装的方式,打开命令行,输入执行: pip install django2.2这里选择安装2.2版本是因为是新的lts版本,长期支持稳定版。 接下来再安装pillow,Django底层一部分是基于pillow进行的。 pip install pillowpylint…...

【mybatis】实现分页查询
一 .使用原生分页器的实体类 1.1 java代码部分 方法多 不易书写 package cn.bdqn.entity;public class Page {private Integer pageIndex;//页码private Integer pageSize;//页大小 显示多少行数据private Integer totalCounts;//数据的总行数private Integer totalPages;//…...

CF1560D Make a Power of Two 题解
CF1560D Make a Power of Two 题解题目链接字面描述题面翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路代码实现备注题目 链接 https://www.luogu.com.cn/problem/CF1560D 字面描述 题面翻译 给定一个整数 nnn。每次操作你可以做两件事情中的一件&am…...

C#开发的OpenRA的读取文件的函数
C#开发的OpenRA的读取文件的函数 在OpenRA游戏里,读取文件是必备的功能。 因为游戏大部分文件都是图片、动画、语音。 很久以前,我以为开发游戏的主要功能是在程序开发上, 其实游戏的大部分工作都不是在开发上,而是在美工方面。 因为游戏跟电影是一样,就是不断地展示场景,…...

SpringBoot结合XXL-JOB实现定时任务
Quartz的不足 Quartz 的不足:Quartz 作为开源任务调度中的佼佼者,是任务调度的首选。但是在集群环境中,Quartz采用API的方式对任务进行管理,这样存在以下问题: 通过调用API的方式操作任务,不人性化。需要…...

【Node.js】 创建web服务器
Node.js什么是客户端,什么是服务器服务器和普通电脑的区别什么是http模块导入http模块服务器相关概念创建web服务器的基本步骤req请求对象req响应对象解决中文乱码根据不同的url响应不同的html内容什么是客户端,什么是服务器 客户端在网络节点中&#x…...

基于go语言实现RestFul交互
一、RestFul 1.1 RestFul的介绍 RESTFUL(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP或HTTPS,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务接口的场景&…...

情感溢出:读《浣溪沙》
浣溪沙 谁念西风独自凉 作者 纳兰性德 谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳。 被酒莫惊春睡重,赌书消得泼茶香,当时只道是寻常。 记得年轻时学这篇词,就是愣背,现在也就记得这句当时只道是寻常…...

深入解读.NET MAUI音乐播放器项目(一):概述与架构
系列文章将分步解读音乐播放器核心业务及代码: 深入解读.NET MAUI音乐播放器项目(一):概述与架构深入解读.NET MAUI音乐播放器项目(二):播放内核深入解读.NET MAUI音乐播放器项目(三…...

【Python小游戏】某程序员将套圈游戏玩儿到了巅峰,好嗨哟~Pygame代码版《牛牛套圈》已上线,大人的套圈游戏太嗨了,小孩勿进。
前言 世上选择那么多。 关注栗子同学会是您最明智的选择哦。 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 “幸运牛牛套圈圈”套住欢乐,圈住幸福,等你来挑战…...

php的declare命令如何使用?
php中的declare结构用来设定一段代码的执行指令declare用于执行3个指令:ticks,encoding,strict_typesdeclare结构用于全局范围,影响到其后的所有代码(但如果有declare结构的文件被其他文件包含,则对包含他的父文件不起作用&#x…...

嵌软工程师要掌握的硬件知识2:一文看懂什么开漏和推挽电路(open-drain / push-pull)
想了解开漏和推挽,就要先了解一下三极管和场效应管是什么,在其他章节有详细介绍,本文就不再进行赘述。 1 推挽(push pull)电路 1.1 理解什么是推挽电路 - 详细介绍 如图所示,Q3是个NPN型三极管,Q4是个PNP型三极管。 1)当Vin电压为正时,上面的N型三极管控制端有电…...

1.2.6存储结构-磁盘管理:单缓冲区与双缓冲区读取、流水线周期、计算流水线执行时间
1.2.6存储结构-磁盘管理:单缓冲区与双缓冲区读取、流水线周期、计算流水线执行时间流水线周期计算流水线执行时间微秒,时间单位,符号μs(英语:microsecond ),1微秒等于百万分之一秒(…...

【pytest接口自动化测试】结合单元测试框架pytest+数据驱动模型+allure
api: 存储测试接口 conftest.py :设置前置操作 目前前置操作:1、获取token并传入headers,2、获取命令行参数给到环境变量,指定运行环境commmon:存储封装的公共方法 connect_mysql.py:连接数据库http_requests.py: 封装…...

展锐平台WIFI吞吐问题解决方案
同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。 一、Wi-Fi 吞吐验收标准 预置条件:屏蔽房;DUT 距离 AP 1m 左右;测试 AP 不加密;…...

全局向量的词嵌入(GloVe)
诸如词-词共现计数的全局语料库统计可以来解释跳元模型。 交叉熵损失可能不是衡量两种概率分布差异的好选择,特别是对于大型语料库。GloVe使用平方损失来拟合预先计算的全局语料库统计数据。 对于GloVe中的任意词,中心词向量和上下文词向量在数学上是等…...

华为OD机试 - 特异性双端队列(Python),真题含思路
特异性双端队列 题目 有一个特异性的双端队列,该队列可以从头部到尾部添加数据,但是只能从头部移除数据。 小 A 一次执行 2 n 2n 2n 个指令往队列中添加数据和移除数据, 其中 n n n 个指令是添加数据(可能从头部也可以从尾部添加) 依次添加 1 到...

【Linux】操作系统进程概念
文章目录1. 冯诺依曼体系结构2. 操作系统3. 进程进程的基本概念查看进程和杀死进程父进程和子进程通过系统调用创建子进程1. 冯诺依曼体系结构 冯诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。数学家冯诺依曼提出了计算…...

C语言const的用法详解
有时候我们希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定。例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大小。为了满足这一要求,可以使用const关键字对变量加以限定:constin…...