相关疑难解决方法(0)

字符串文字:它们去哪儿了?

我对字符串文字的分配/存储感兴趣.

我确实在这里找到了一个有趣的答案,说:

定义内联字符串实际上是将数据嵌入程序本身并且无法更改(某些编译器通过智能技巧允许这样做,不要打扰).

但是,它与C++有关,更不用说它不打扰了.

我很烦.= d

所以我的问题是我的字符串文字保存在哪里以及如何保存?我为什么不试着改变呢?实施是否因平台而异?有没有人愿意详细说明"聪明的伎俩"?

c memory string-literals

155
推荐指数
6
解决办法
7万
查看次数

如何将String转换为&'static str

如何将a String转换为&str?更具体地说,我想将它转换为str带有staticlifetime(&'static str)的a.

rust

69
推荐指数
4
解决办法
5万
查看次数

C程序中的字符串文字,可以在二进制中找到吗?

例如:

int main(int argc, char *argv[]) {   
  if (strncmp(argv[1], "password")) {
    printf("Incorrect password\n");   
  }
  return 0; 
}
Run Code Online (Sandbox Code Playgroud)

我可以反汇编这个编译程序的二进制文件并在二进制文件的某处看到字符串“密码”,还是只在运行时可见?

c

0
推荐指数
1
解决办法
440
查看次数

标签 统计

c ×2

memory ×1

rust ×1

string-literals ×1