アカウント名:
パスワード:
C++大好きな人が「そんなCみたいなコーディングして!」とぶーたれている図ならあちこちで見られますやね。けどC大好きな人の「そのC++的発想やめてほしい」みたいに言う図って想像できないんだ。
Cラブな人の誇りって、どのへんに宿るんだろう。
C++のシンボルのname manglingは実装依存でコンパイラのベンダーによってバラバラ。Windowsだとvtable絡みでMicrosoftが特許とってるらしくてC++ ABIをMSVC++互換にはできないっぽい。LinuxのC++ ABIはGNU libstdc++のそれに標準化してたと思うけど、そもそもlibstdc++自体がABI安定してないからなあ。ていうかscim-bridgeが作られたきっかけはABI問題だし、iBusがCで書かれている理由もそれを嫌ってるからだし。
まあOSのコアAPIはCで書くのが無難だよなあ。
LinuxのC++ ABIはGNU libstdc++のそれに標準化してたと思うけど、そもそもlibstdc++自体がABI安定してないからなあ。
ABIが何かを理解していますか?GCCのC++ ABIは何度か変更がありましたが、そのことですよね。
つーか、その2つはセットで考えるべきでしょ。
ABIと言うからにはしっかり区別すべき。ライブラリが規程するのはAPIであってABIではありません。
なんだ、ただの知ったか君か。C/C++のライブラリなんざ注意を払わずに変更を加えた日にゃ簡単にABIが壊れるよ。コンパイラだけの問題じゃない。
C/C++のライブラリなんざ注意を払わずに変更を加えた日にゃ簡単にABIが壊れるよ
では具体例にどうABIを壊すのかを例示してください。そのような変更は、普通APIの互換性を崩す変更と呼ぶと思いますが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
逆なら見るけども (スコア:0)
C++大好きな人が
「そんなCみたいなコーディングして!」
とぶーたれている図ならあちこちで見られますやね。
けどC大好きな人の
「そのC++的発想やめてほしい」
みたいに言う図って想像できないんだ。
Cラブな人の誇りって、どのへんに宿るんだろう。
Re: (スコア:0)
C++のシンボルのname manglingは実装依存でコンパイラのベンダーによってバラバラ。Windowsだとvtable絡みでMicrosoftが特許とってるらしくてC++ ABIをMSVC++互換にはできないっぽい。LinuxのC++ ABIはGNU libstdc++のそれに標準化してたと思うけど、そもそもlibstdc++自体がABI安定してないからなあ。ていうかscim-bridgeが作られたきっかけはABI問題だし、iBusがCで書かれている理由もそれを嫌ってるからだし。
まあOSのコアAPIはCで書くのが無難だよなあ。
Re: (スコア:1)
ABIが何かを理解していますか?GCCのC++ ABIは何度か変更がありましたが、そのことですよね。
Re: (スコア:0)
つーか、その2つはセットで考えるべきでしょ。
Re: (スコア:1)
ABIと言うからにはしっかり区別すべき。ライブラリが規程するのはAPIであってABIではありません。
Re: (スコア:0)
なんだ、ただの知ったか君か。
C/C++のライブラリなんざ注意を払わずに変更を加えた日にゃ簡単にABIが壊れるよ。
コンパイラだけの問題じゃない。
Re: (スコア:1)
では具体例にどうABIを壊すのかを例示してください。
そのような変更は、普通APIの互換性を崩す変更と呼ぶと思いますが。
Re:逆なら見るけども (スコア:0)