Chinaunix

标题: 【求助】一个字符串的生存周期问题 [打印本页]

作者: 郁闷饿    时间: 2013-07-22 18:41
标题: 【求助】一个字符串的生存周期问题
int my_cmp(char *s)
{
    strcmp(s, "hello")...
    .....
}

请问这个"hello"算是字符串常量吗?存放在哪里,生存周期是多少?

好吧我是伸手党,先谢过各位啦~
作者: lxyscls    时间: 2013-07-22 18:54
你nm一下你的程序,说不定还可以找到hello这个东东
作者: djsxut    时间: 2013-07-23 11:15
一般在.rodata中, 不在符号表中。如果你的 S数组是static的或者全局的,nm可以找到,局部的就没有。
作者: 郁闷饿    时间: 2013-07-23 11:23
找不到呀,看了一下参数,貌似没有什么可以详细显示的选项~
lxyscls 发表于 2013-07-22 18:54
你nm一下你的程序,说不定还可以找到hello这个东东

作者: cxytz01    时间: 2013-07-23 11:24
存放在代码区,生命周期同程序的结束而结束。

printf("%p\n",  "hello");
cat /proc/$pid/maps..................可以看到打印出来的地址处于代码区内。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2