gpt4 book ai didi

c++ - #define 值分配为什么内存类型?

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:09 25 4
gpt4 key购买 nike

考虑以下代码,其中包含各种 #define 语句;

 #define PUSH 0x50
#define POP 0x58
#define NOP 0x90
#define JUNK __asm__(PUSH, NOP, NOP, NOP, NOP, NOP, NOP, NOP, NOP, POP)
#define J 0.752
#define L 27

前几个状态定义了一些十六进制值,它们是汇编指令,然后是一组。

倒数第二行定义了一个名为 J 的 float 。

最后的语句定义了一个整数 L。

这些内存定义是“无类型”的,因为它们是常量吗?我猜不会,因为我无法想象那会如何工作。编译器是否自动分配最相关的类型,例如 float 或 int?

最佳答案

这些不是“内存定义”。它们是预处理器宏。编译器本身看不到它们,因为它们在运行前都已被替换(主要是通过复制和粘贴)。

关于c++ - #define 值分配为什么内存类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19081953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com