例如,如果您有一个程序
int main()
{
const char* str = "1111111111111111111111111111111111111111111";
printf("%s", str);
return 0;
}
然后编译它,如果你在生成的二进制文件中搜索“1111111111111111111111111111111111111111111”,(忽略编码等问题),你能保证找到它,还是允许编译器生成代码,例如,分配堆内存,使用循环用'1'填充它,然后修复对该字符串文字的所有引用以指向堆内存?(然后确保它在正确的时间被释放,等等)
我怀疑是否有任何实现实际上可以做到这一点......但如果这样做的话,它会符合标准吗?