[過去ログ]
C言語なら俺に聞け 163 (1002レス)
C言語なら俺に聞け 163 http://mevius.5ch.net/test/read.cgi/tech/1721137434/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
175: デフォルトの名無しさん (ワッチョイ ffe1-1pYN) [sage] 2024/09/15(日) 01:32:35.13 ID:STy65/7c0 ちなみに「文字列リテラル」が「実行時」に存在してる訳では全くない はちみつはそこを勘違いしてる 静的記憶期間というのはスコープの事だ まぁエクステントと言った方が正確だが それはコンパイラーが理解できるものだが、それと「実行時」に存在する値を結びつけてはいけないし関係無い DLLだとしたら静的記憶期間の変数も実行時には存在しない可能性もある スレッドローカルストレージの変数もそうだな 要するに文字列リテラルで生成されたデータは実行時には確実にアクセス可能で、消えてるなんて全くあり得ない それをずっと言ってる http://mevius.5ch.net/test/read.cgi/tech/1721137434/175
178: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f732-vU+L) [sage] 2024/09/15(日) 01:46:17.50 ID:B6k8li/O0 >>175 > 静的記憶期間というのはスコープの事 ちがう。 記憶域期間はオブジェクトの寿命の区分。 6.2.4 を参照のこと。 寿命の区分が設定されている以上はオブジェクト (メモリ上のどこかにある) のこと。 > 文字列リテラルで生成されたデータは実行時には確実にアクセス可能で、消えてるなんて全くあり得ない 関数 (C のプログラムは関数の集合なので実質的にプログラムの全て) はオブジェクトではない。 私が「消える」と表現したのはこの意識があったからだが、機械語のレベルでどこかには存在するという意味ではそりゃ存在するだろう。 (同じ内容が連続する配列だったらループで書き込むような形にすることもあるかもしれない。) 配列の初期化子としての文字列リテラルは本来あるべき場所 (オブジェクト) から最適化で消えてるし、ポインタで指すことは出来ない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/178
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s