crazy_tortoise 发表于 2025-12-20 19:14:31

请教一下关于near,far,huge关键字的问题

当对函数内的局部变量使用这三个关键词时,似乎并不能影响编译器存放这三个变量的位置。
当选择XSmall模式时


这三个变量均被放到EDATA区

当选择Large模式时
这三个变量均被放到XDATA区
但是如果把它们放到函数外面作为全局变量的时候
无论是XSmall模式还是Large模式,这三个变量都会正确的放在这三个关键词所指示的地方
这是正常现象吗,如果是正常的,那么为什么要这么设计呢。

王昱顺 发表于 2025-12-21 12:02:05

局部变量存在优化等级,所以会优先依照内部模式
不如不想让编译器优化,可以对变量添加volatile关键词

wangxiangtan 发表于 2025-12-22 08:37:14

黑色背景图片是哪个文件的内容{:4_168:}

_奶咖君_ 发表于 2025-12-22 13:00:02

wangxiangtan 发表于 2025-12-22 08:37
黑色背景图片是哪个文件的内容

看起来是MAP文件

crazy_tortoise 发表于 2025-12-25 18:26:48

_奶咖君_ 发表于 2025-12-22 13:00
看起来是MAP文件

对的

crazy_tortoise 发表于 2025-12-29 20:27:12

王昱顺 发表于 2025-12-21 12:02
局部变量存在优化等级,所以会优先依照内部模式
不如不想让编译器优化,可以对变量添加volatile关键词 ...

好像没有用欸
页: [1]
查看完整版本: 请教一下关于near,far,huge关键字的问题