a**U 发帖数: 115 | 1 string c = "abc"; 问系统做了些什么。
我说,"abc" is sting literal, which will be place in static data segment. 然
后创建一个string在heap里,用“abc”初始化这个string。
大家说我说的对不对? |
r*****b 发帖数: 310 | 2 I think that you are right.
【在 a**U 的大作中提到】 : string c = "abc"; 问系统做了些什么。 : 我说,"abc" is sting literal, which will be place in static data segment. 然 : 后创建一个string在heap里,用“abc”初始化这个string。 : 大家说我说的对不对?
|
s******n 发帖数: 3946 | 3 string object在stack或者global data上,内部的数据结构可能在heap上 |
z****h 发帖数: 164 | |
c***p 发帖数: 221 | 5 According to gcc/g++, "abc" is located at .rodata section, will loaded to a
read only segment by loader.
location of variable c depends, will be in .data section if it is global, in
stack if it is local
【在 a**U 的大作中提到】 : string c = "abc"; 问系统做了些什么。 : 我说,"abc" is sting literal, which will be place in static data segment. 然 : 后创建一个string在heap里,用“abc”初始化这个string。 : 大家说我说的对不对?
|
c****p 发帖数: 6474 | 6 有heap什么事儿。。。
【在 a**U 的大作中提到】 : string c = "abc"; 问系统做了些什么。 : 我说,"abc" is sting literal, which will be place in static data segment. 然 : 后创建一个string在heap里,用“abc”初始化这个string。 : 大家说我说的对不对?
|
a**U 发帖数: 115 | |
g*********e 发帖数: 14401 | 8 "abc"是在executable里面就生成的 是在intialized data segment,跟heap没关系。
是只读的,运行时会创建一个指针指向它 |
n****a 发帖数: 1069 | 9 现在编程都问这么没营养的问题啊?
这在实际工作中有毛用啊?
这样的公司也太装B了 |
g*********e 发帖数: 14401 | 10
做嵌入式的肯定要用 比如NVDA INTEL QUALCOMM 之类
【在 n****a 的大作中提到】 : 现在编程都问这么没营养的问题啊? : 这在实际工作中有毛用啊? : 这样的公司也太装B了
|
h********e 发帖数: 1972 | 11 c++对象创建不会放堆里面,除非你用指针。。不是c#...,但是实际上strings里面会有
一个指针指向heap放真正的数据 |
c*****e 发帖数: 737 | 12 "abc" is in .rodata section, not heap.
# objdump -s -j .rodata str
Contents of section .rodata:
80486e8 03000000 01000200 00000000 61626300 ............abc.
80485c5: 89 44 24 08 mov %eax,0x8(%esp)
80485c9: c7 44 24 04 f4 86 04 movl $0x80486f4,0x4(%esp)
80485d0: 08
80485d1: 8d 45 ec lea -0x14(%ebp),%eax
80485d4: 89 04 24 mov %eax,(%esp)
80485d7: e8 bc fe ff ff call 8048498 <_ZNSsC1EPKcRKSaIcE@
plt>
【在 a**U 的大作中提到】 : string c = "abc"; 问系统做了些什么。 : 我说,"abc" is sting literal, which will be place in static data segment. 然 : 后创建一个string在heap里,用“abc”初始化这个string。 : 大家说我说的对不对?
|