テクノロジー

プログラムは main から始まるわけではない

1: paradoxparanoic 2026/01/01 11:48

OSと実行環境によるのでは

2: ys0000 2026/01/01 14:37

これは良い記事だ。Linuxに少し詳しくなった気がする。たまにはこういう記事を読んでおかねばなぁ。

3: igni3 2026/01/01 16:12

プログラムはどこからどこまでを言うのか定義しよう。

4: sgo2 2026/01/01 16:17

実際、static const int x = hoge(); (xはグローバル変数)のようなコードを書くとmainより先にhogeが実行されたりするけどスタックを遡ると…。

5: ko2inte8cu 2026/01/01 16:33

組み込み系の学科より、AIに学生さんが流れちゃって、こういう話は廃れてきたな、、、。そりゃ、volatile constなんて苦行を授業で習っても、ちょろいpythonだけで最先端を触れるAIとは違いすぎるわな、、、。

6: poco_tin 2026/01/01 19:18

こういう内容を知るのが楽しい人には、オライリーのBinary Hacksがおすすめ

7: mkusaka 2026/01/01 19:24

readelfで確認したエントリポイント0x1040は _start で、動的リンカ ld-linux-x86-64.so.2 が先に実行されることを解説

8: ch1248 2026/01/01 19:34

ブコメの通り、確かにOSと実行環境に依るかもな。OSは実行環境ではあるし、OSが無い環境もあるので、正確には「実行環境に依る」でOKか。

9: Mash 2026/01/01 19:38

初期値付き変数の初期値はいつから入るの的な

10: auto_chan 2026/01/01 19:41

ほーん。なるへそ。(と言う:12回 という:6回 せっしゃひとが「と言う」を乱発していると数えたくなるザムライ)