- 1 名前:名無しさん@お腹いっぱい。 [03/02/18 03:49.net]
- いますか?
- 834 名前:名無しさん@お腹いっぱい。 [2024/03/27(水) 19:59:39.96 .net]
- 要するに
- 835 名前:名無しさん@お腹いっぱい。 [2024/03/27(水) 20:15:42.87 .net]
- その枠やNHKドラマ妙に上げ始めたの娘!あんたの家の都合上で音楽聴いて
- 836 名前:名無しさん@お腹いっぱい。 [2025/04/25(金) 19:26:47.90 ID:d8GKOmUDY]
- FreeBSD雑誌には自分らしいOSとかいうお題目で、
FreeBSDユーザーを肯定するような記事がいろいろと載ってる。 それこそが先進的で現代的なOSだと言わんばかりに。 私はそういう雑誌で編集やってたことがあるから 本当のことを書きますけど、 作ってるほうだってそんなこと信じちゃいません。 ライターともよく話しました。 「こんな心にもないことよく書けるなー」 「目的は現実逃避ですからね じゃなかったらFreeBSDユーザーは読んでくれないですよ」 内心、FreeBSDは終わってるよなぁと思いつつも、 FreeBSDを賛美する記事を掲載する。 でもね、そういう特集を掲載すると反響がいいんですよ。 「私のFreeBSD人生は間違ってなかった」とかいう読者カードが山ほど届く。 間違ってるって(笑)。 まあ単なるマイナーOSユーザーに自己肯定の機会と人生への夢が与えられるし、 たとえウソの企画でも勘違いしてくれれば発行部数が上がるからいいけどね。
- 837 名前:名無しさん@お腹いっぱい。 [2025/09/20(土) 19:26:58.91 ID:EDd7Pddis]
- >>809
sys_errlist[]がその例だよね。 動的リンクしてるはずなのに、コンパイルするとsys_errlist[]の文字列一式が 実行バイナリ本体に静的に埋め込まれてしまって何コレ?って思ったことある。 だからsys_errlist[]は使わずにstrerror()関数使え、ってなった。
今は直接は埋め込まずに、実行バイナリ本体に外部参照してるデータのサイズ分の bss領域を確保しておいて、実行時に動的リンカーが共有ライブラリから そのbss領域にデータ一式コピーするみたいな方法になってるけど コピーが無駄なことに変わりはない。
- 838 名前:名無しさん@お腹いっぱい。 [2025/11/08(土) 19:37:23.40 ID:0cFUylTxV]
- >>837
-fpicでコンパイルすると copyrelocにはならず、sys_errlistもGOTを使った間接参照になるよ。 -fpicじゃなくて-fpieの方だと依然として copyrelocになるので注意。
もっと身近に、stdoutとかstderrも、この外部変数を直接プログラム中に記述すると copyrelocになる。-fpicにするとGOT経由になる。
(暗黙にstdoutが使われるprintf()とかはstdoutを直接記述してないので copyrelocにならない)
|

|