- 主题:有个老外code review不让过
我想问的是const会影响mmu的page entry 吗,字符串产量应该是page entry只读的?为什么字符串常量是运行期
--
FROM 139.226.62.*
不影响
const和inline关键字只存在于编译期
运行时没有他们的事
const不能改只是编译器不让改
那块地址和其他的变量地址是一样的
可以绕过去改
【 在 freyoneby 的大作中提到: 】
: 我想问的是const会影响mmu的page entry 吗,字符串产量应该是page entry只读的?为什么字符串常量是运行期
--
FROM 223.104.39.*
那有什么办法定义数据是运行期常量
【 在 slowaction 的大作中提到: 】
: 不影响
: const和inline关键字只存在于编译期
: 运行时没有他们的事
: ...................
--
FROM 139.226.62.*
基本做不到
编译期的常量字符串是不能改的,不过适用范围很窄
如果你从配置文件读一个数据进来,然后要求他后面物理上不能改,这种没办法
可以用函数封装间接解决这个问题
让自己的变量别人没法改
【 在 freyoneby 的大作中提到: 】
: 那有什么办法定义数据是运行期常量
--
FROM 223.104.39.*
还有其他情况吗?
【 在 teleheart 的大作中提到: 】
: 你可以把rom上的地址作为变量传给函数,函数也可以试图去写这个地址,但物理上不可能成功
:
--
FROM 36.154.175.*
两边摩擦系数都不一样吧
【 在 fanci 的大作中提到: 】
: 真的不能反用吗?没试过纯好奇。
--
FROM 221.218.163.*
可能有,不过暂时没想到
【 在 pabkyh 的大作中提到: 】
: 还有其他情况吗?
:
--
FROM 112.64.60.*
保护模式
【 在 teleheart 的大作中提到: 】
: 可能有,不过暂时没想到
--
FROM 27.38.197.*
运行期能否更改,只取决于:
1、存储区域对应的物理介质是否允许更改。如果加的有物理锁,比如ROM或者带只读锁的U盘,是改不了的。
2、对存储区域的权限控制。
这些都超出编译器的控制了。编译器能干的,只有const变量属性,外加某个data section的read-only初始属性(运行期也可以改的。比如在Windows上一个VirtualProtect API就改了)
【 在 freyoneby 的大作中提到: 】
: 那有什么办法定义数据是运行期常量
--
修改:z16166 FROM 221.218.163.*
FROM 221.218.163.*
按说 上古时代 车马慢 书信远
用肠衣或是套套洗洗再用
无所谓正反
但是 现代的 豪华社会里 正装用时5秒 反装用时 50秒
何必和自己过不去
【 在 fanci 的大作中提到: 】
: 真的不能反用吗?没试过纯好奇。
--
FROM 52.9.227.*