运行期能否更改,只取决于:
1、存储区域对应的物理介质是否允许更改。如果加的有物理锁,比如ROM或者带只读锁的U盘,是改不了的。
2、对存储区域的权限控制。
这些都超出编译器的控制了。编译器能干的,只有const变量属性,外加某个data section的read-only初始属性(运行期也可以改的。比如在Windows上一个VirtualProtect API就改了)
【 在 freyoneby 的大作中提到: 】
: 那有什么办法定义数据是运行期常量
--
修改:z16166 FROM 221.218.163.*
FROM 221.218.163.*