小编Ric*_*cht的帖子

如何指示VC ++编译器不内联常量?

我的C ++程序中具有以下全局常量:

const int K = 123456 ;
Run Code Online (Sandbox Code Playgroud)

当我编译程序时,生成的可执行文件123456在所有使用该值的地方(数十次)都包含文字值。

但是,如果删除const限定符,则该值123456在整个可执行文件(在本.data节中)中仅出现一次。
这是我要寻找的结果。我希望该值123456仅出现一次,以便可以通过使用十六进制编辑器编辑.exe文件来更改它。

但是,我不想删除const限定符,因为我希望编译器防止我意外修改源代码中的常量。

是否可以指示编译器不内联所述常量的值?


我需要这样做的原因是使可执行文件易于被学生“修改”示例程序以改变其行为的学生容易地修改。对于没有经验的人,练习必须足够简单。

c++ assembly compilation const visual-c++

4
推荐指数
2
解决办法
63
查看次数

标签 统计

assembly ×1

c++ ×1

compilation ×1

const ×1

visual-c++ ×1