我的C ++程序中具有以下全局常量:
const int K = 123456 ;
Run Code Online (Sandbox Code Playgroud)
当我编译程序时,生成的可执行文件123456在所有使用该值的地方(数十次)都包含文字值。
但是,如果删除const限定符,则该值123456在整个可执行文件(在本.data节中)中仅出现一次。
这是我要寻找的结果。我希望该值123456仅出现一次,以便可以通过使用十六进制编辑器编辑.exe文件来更改它。
但是,我不想删除const限定符,因为我希望编译器防止我意外修改源代码中的常量。
是否可以指示编译器不内联所述常量的值?
我需要这样做的原因是使可执行文件易于被学生“修改”示例程序以改变其行为的学生容易地修改。对于没有经验的人,练习必须足够简单。