アカウント名:
パスワード:
基本的にプログラミング言語はプログラマーからみた振る舞いは定義しても、コンピュータでどう実装されるかまでは定義しない。
GCとかポリモーフィズムに必要な型情報は基本的にコンパイル時or実行時一回きりの使い捨てで再利用できるようになってない。Cも定義はされていないが、ハードに近いおかげで関数も構造体もアーキテクチャが同じなら大抵同じ構成になるから、OSやライブラリはCで実装するのが無難。
違うバージョンのコンパイラでビルドされたC++のライブラリはなんか気持ち悪くて嫌ですね。CでもlibpngみたいにFILE構造体を使ってるのはコンパイラのバージョン違いで例外吐いたことがありますが。
以前に書いた日記 [srad.jp]で、その辺の面倒な事があったなー、と。64ビットな構造体の返し方が、CとC++で異なっているという。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日々是ハック也 -- あるハードコアバイナリアン
ABI互換性 (スコア:0)
基本的にプログラミング言語はプログラマーからみた振る舞いは定義しても、コンピュータでどう実装されるかまでは定義しない。
GCとかポリモーフィズムに必要な型情報は基本的にコンパイル時or実行時一回きりの使い捨てで再利用できるようになってない。
Cも定義はされていないが、ハードに近いおかげで関数も構造体もアーキテクチャが同じなら大抵同じ構成になるから、OSやライブラリはCで実装するのが無難。
Re: (スコア:0)
違うバージョンのコンパイラでビルドされたC++のライブラリはなんか気持ち悪くて嫌ですね。
CでもlibpngみたいにFILE構造体を使ってるのはコンパイラのバージョン違いで例外吐いたことがありますが。
Re:ABI互換性 (スコア:2)
以前に書いた日記 [srad.jp]で、その辺の面倒な事があったなー、と。
64ビットな構造体の返し方が、CとC++で異なっているという。
Re:ABI互換性 (スコア:1)