[問題] read only const char string

看板C_and_CPP作者 (Up2u)時間9年前 (2016/05/10 19:46), 9年前編輯推噓3(306)
留言9則, 6人參與, 最新討論串1/1
const char str1=[]="123"; const String str2("123"); 請問一下這兩種宣告 哪一種是編譯到ready only memory裡面 因為我去測試的時候 兩個字串的內容都是不可修改的 所以我覺得兩個都是ready only? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.227.244 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1462880781.A.444.html

05/10 20:00, , 1F
那代表你的程式要燒 ROM ?
05/10 20:00, 1F

05/10 20:00, , 2F
你都寫const了...
05/10 20:00, 2F

05/10 20:06, , 3F
看是不是local變數
05/10 20:06, 3F

05/10 20:24, , 4F
兩個都是read only。標準好像沒規定一定要放在.text裡面
05/10 20:24, 4F

05/10 20:25, , 5F
恩...,我那樣講有點怪。反正兩個都不能被改
05/10 20:25, 5F

05/10 20:26, , 6F
強制改的話,就是undefined behavior
05/10 20:26, 6F

05/10 20:33, , 7F
是read only memory
05/10 20:33, 7F
是read only memory 原文寫錯 ※ 編輯: bjk (220.136.227.244), 05/10/2016 20:33:41

05/11 13:15, , 8F
語意上是read only,實際上的配置是另一回事,沒絕對
05/11 13:15, 8F

05/11 13:16, , 9F
因素很多,ex: String/compiler怎麼做。反正語意上是囉
05/11 13:16, 9F
文章代碼(AID): #1NCSeDH4 (C_and_CPP)