アカウント名:
パスワード:
デバイスドライバのバイナリ互換性はどうかしらないけど、通常のプログラムのバイナリ互換性はかなり高い。もちろんちゃんと互換性を意識してないとダメだけど。10年前に作られた某社のバイナリの課金プログラムが CentOS 6.3 でもバッチリ動く。動作させるには互換ライブラリを入れる必要があった。
ABI は問題ないなくても、その上で動く動的リンクのライブラリ管理に問題があったりします。
これは kernel じゃなくてディストリビューションの問題と言うことなんだけど、同じライブラリの世代番号のまま中身が違ってたりするものだから、リンクエラーや動作の違いが生じたりする理由です。
バイナリを静的リンクすれば、そういう問題に影響されないのですが、こんどは図体がでかくなっちゃうしね。 いろいろなディストリビューションで動作する共通のバイナリを作るのはなかなか大変だった…と言う苦労をしたのはもう10年も前の話なのですが、今でもあまり変ってなさげですね。
動的リンクライブラリ(so/DLL、以後DLL)は「上手に使えば」凄く良いものですが上手に使うのが凄く難しい気がします…基本的にキライ完全に固まった(枯れた)ものを整理して使うには良いですが絶え間なく変わっていくものに使うとバージョン管理地獄か実は中身が非互換地獄か、DLL HELLが待っているわけで「完成するまでDLLにするな、DLLにしたら触るな」と言いたいのですが、そうするといつまでたってもDLLにできないとか
だから動いたところでアプリ~OSまでまるごとVMの上で動かせばいいのに…
で、VM の実行環境のほうではどうすんの?
わかった。アプリを起動したら開発者のマシンで実行されて結果が返ってくるというのはどうだ?
Windowsにすればいいじゃん。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
linuxって意外とバイナリ互換性高い (スコア:0)
デバイスドライバのバイナリ互換性はどうかしらないけど、通常のプログラムのバイナリ互換性はかなり高い。もちろんちゃんと互換性を意識してないとダメだけど。
10年前に作られた某社のバイナリの課金プログラムが CentOS 6.3 でもバッチリ動く。動作させるには互換ライブラリを入れる必要があった。
Re: (スコア:1)
ABI は問題ないなくても、その上で動く動的リンクのライブラリ管理に問題があったりします。
これは kernel じゃなくてディストリビューションの問題と言うことなんだけど、同じライブラリの世代番号のまま中身が違ってたりするものだから、リンクエラーや動作の違いが生じたりする理由です。
バイナリを静的リンクすれば、そういう問題に影響されないのですが、こんどは図体がでかくなっちゃうしね。 いろいろなディストリビューションで動作する共通のバイナリを作るのはなかなか大変だった…と言う苦労をしたのはもう10年も前の話なのですが、今でもあまり変ってなさげですね。
の
Re: (スコア:1)
動的リンクライブラリ(so/DLL、以後DLL)は「上手に使えば」凄く良いものですが上手に使うのが凄く難しい気がします…基本的にキライ
完全に固まった(枯れた)ものを整理して使うには良いですが絶え間なく変わっていくものに使うとバージョン管理地獄か実は中身が非互換地獄か、DLL HELLが待っているわけで
「完成するまでDLLにするな、DLLにしたら触るな」と言いたいのですが、そうするといつまでたってもDLLにできないとか
Re: (スコア:2)
だから動いたところでアプリ~OSまでまるごとVMの上で動かせばいいのに…
Re:linuxって意外とバイナリ互換性高い (スコア:2)
で、VM の実行環境のほうではどうすんの?
Re: (スコア:0)
わかった。
アプリを起動したら開発者のマシンで実行されて結果が返ってくるというのはどうだ?
Re: (スコア:0)
Windowsにすればいいじゃん。