ぼんやりと考えている人

名前: ひろしまなおき (廣島直己)
住処: シリコンバレー
職業: しがないプログラマ
家族: 愛妻一人、息子一人、娘一人
道具: ハーレー二台、ギター三本
電紙: n at h7a.org

ひろしまなおき (廣島直己)

Twitter

« August 2008
S M T W T F S
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

以前にぼんやりと考えたこと

最近のコメント

  • ひろしま (かりーたんはぼく…): かりーたんが好きですか、そうですか。 じゃあ、こんど…
  • ゆーすけt (かりーたんはぼく…): なたりーたんがなおーきさんのではないのは断っておく…
  • ひろしま (オレゴンから愛 '0…): ポートランドにはけっこう日本人がいると思いますが、…
  • 台湾人 (オレゴンから愛 '0…): オレゴン州に日系の方はいらっしゃいましたか? カリ…
  • ayako (名古屋の人は蚊帳…): 3回くらい読み返してやっと何の事かわかりました。 私…
  • ひろしま (オレゴンから愛 '0…): いや、Crater Lake しか観光するところはないですねw …
  • 台湾人 (オレゴンから愛 '0…): オレゴン州は観光名所が多いですか?…
  • ひろしま (名古屋の人は蚊帳…): N氏の twitter.com/N/statuses/884901308 のことですか…
  • Goro (名古屋の人は蚊帳…): この問題についての色々な意見を読みましたが個人的に…
  • ひろしま (Gyazickr for iPho…): げ、放置してたらコメントがいくつもあってびっくり。 …

  • Powered by Pivot - 1.40.5: 'Dreadwind'
  • SPAM Poison
  • XMLフィード(RSS 1.0)
  • Atomフィード

17 March '2006 - 23:40 | 技術動向 64ビット環境デビュー

仕事的には当分は関係ないだろうと高をくくっていた 64ビット環境。

ある客のせいで今日から使う羽目になった。

AMD64 を Fedora Core で使ってるからそっちも同じ環境でよろしくね、とか客に言われて、嫌なこった、おれは Gentoo しか使わないって決めてるし、って言って初めて調べてみたら、ちゃんと Gentoo でも使えることがわかって安心。ほっ。

社内に AMD64 が余ってなかったので、Fry's に行ってみたら AMD64 なマシンが 600ドル以下で売っていた。安い。さっそくそれを買ってきて、さくっとを若者にインストールさせてみたのだけれど、なんか様子が違う。違うなあと思っていたら若者は旅に出てしまったので、仕方なく自分で解決することにした。

が、なんか、何がどうおかしいのかさえ、いまいちよく分からない。そもそも何も読まずに勘だけでやっても動くわけがないのだけれど、かるくググっても欲しい答えを教えてもらえないし、なんか面倒くさくなってきて、irc://irc.freenode.net/#gentoo-amd64 で訊いて見る。すると、住人らがすぐに教えてくれた。IRC って、もっと殺伐としてるべきなのになあ。みんなけっこう優しのな。

なにはともあれ IRC 住人の適切なアドバイスのおかげで、さくっと AMD64 環境が動くようになった。ついでに DirectFB も簡単に動いた。

で、さっそくテストアプリケーションを動かして見ようと思いきや、案の定、テストコードのコンパイルが通らない。まあ、そういうこともあるだろうね。

言われるまま、コンパイラのお気に召すように細かく修正してアプリケーションのコンパイルをなんとか通るようにしてみると、今度はライブラリのフォーマットが違うんでリンクできませんとか言われる。ああ、ライブラリもコンパイルしなおす必要があるわな、そりゃ。はいはい。

で、ミドルウェアのコンパイルを始めたら、当然ながらコテンパンにコンパイルが通らない(笑)

まあ、組込なのでビッグ・エンディアンの方が多いのだけれど、ST みたいにリトル・エンディアンみたいなのもあるし、さすがにエンディアンの違いで動かなくなるようなコードはひとつもないけれど、32ビット環境を「暗に」仮定して書かれているコードがちょくちょくありまくり。

うーむ。

まったく、そんなダサいコードを書くんじゃねーよって叫びたいところだけれど、テレビのソフトごときに 64ビット環境のことなんて想定するのはまったく現実的じゃないし、実際、今回の客にしても最終的な製品は 32ビット環境になるに決まっているし、なんと言ってもおれもそういうコードをけっこう書いてるのがイタイ orz

もうね、エラーの量がさくっと治そうって量じゃないのにめげる。さらに、この苦労はほとんど報われない(64ビットのテレビなんて近い将来には出っこない)ことも必定なので、よけいに気力がうせる。

仕方ないので、自分で書いたライブラリから片付けていこうと思って作業を始めると、半分くらいは何の問題なくビルドできたし、残りの半分の半分くらいはちょっとした手直しだけでよかったのだけれど、残りはちょっと真剣に治さないと副作用が怖いなあ、という感じ。とくに何年も前に書いたっきりほとんどそのまま使っているキューとかスレッドとかセマフォアあたりの低レベルのオブジェクトの実装が、ぱっと見では気づかないようなすごく微妙な感じで 32ビット環境仮定になってたりしてることを発見。

うーん、せっかくの花金を台無しにしてしまったかも。こういうのは、火曜日か水曜日あたりに気づくのが最適なのに。

で、あまりにもやる気にならないので、
$ cat > a.c; gcc a.c; ./a.out
int main(void){printf("%d\n",sizeof(void*)*8);}
^D
64
$
ってやって、(・∀・)ニヤニヤしながらとっとと帰ることにした。

いいなあ、嬉しいなあ、64ビット環境。

Trackback link:

トラックバック用URLを生成するには、JavaScriptを有効にしてください。



  
情報を記憶する

Emoticons /

酢ハムがいったいどんなハムなのかはともかく…
 

 

通知:
非公開:

注意: 使用できるタグは <b> と <i> のみです。URLやメールアドレスはそのまま記述すればリンクになります。