我对字符串文字的分配/存储感兴趣.
我确实在这里找到了一个有趣的答案,说:
定义内联字符串实际上是将数据嵌入程序本身并且无法更改(某些编译器通过智能技巧允许这样做,不要打扰).
但是,它与C++有关,更不用说它不打扰了.
我很烦.= d
所以我的问题是我的字符串文字保存在哪里以及如何保存?我为什么不试着改变呢?实施是否因平台而异?有没有人愿意详细说明"聪明的伎俩"?
如何将a String转换为&str?更具体地说,我想将它转换为str带有staticlifetime(&'static str)的a.
例如:
int main(int argc, char *argv[]) {
if (strncmp(argv[1], "password")) {
printf("Incorrect password\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我可以反汇编这个编译程序的二进制文件并在二进制文件的某处看到字符串“密码”,还是只在运行时可见?