アカウント名:
パスワード:
色々書いたり配布したりする人からすると、ABI変えられると厳しいですよね。Windowsと言うかMinGWのように基本Static Linkしてくれてるのはいいのですが、GNU/LinuxのようにDynamic Linkが基本だと、ABI変えられちゃうと、主要ディストリがStableでGCC5系を採用してくれないと、配布がしづらいですから。もしくは、ディストリごとに別々のバイナリを配布しなくちゃならなくなるので、サイトの容量が大きくないと厳しい。# いや、そんな言うならバイナリで配布すなと言われても、ソースコードだけでは怒り出す人達が結構いる状況だとねぇ…
実行前にチェックするようにできんの?と言ってみる。使えそうなら呼ぶ、使えなさそうならstaticな処理を呼ぶ。windowsでdll呼ぶときときやっただけなんで、同じ事出来るか分からん。。
.so に両方のライブラリを含めばよいような。実際にはどういう対応がされてるんでしょ?
_GLIBCXX_USE_CXX11_ABI パラメータでABI が切り替えられる。古いバイナリには古いABI で、新しくコンパイルする際には(デフォルトでは)新しいABI が使われる。.so には両方入ってます。
ありがとうございます。だとすると、インターフェースが変わらない前提でバイナリ(別ABIでコンパイルされたライブラリ)混在も動いたりするかな?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
ABIかわっちゃった… (スコア:1)
色々書いたり配布したりする人からすると、ABI変えられると厳しいですよね。
Windowsと言うかMinGWのように基本Static Linkしてくれてるのはいいのですが、GNU/LinuxのようにDynamic Linkが基本だと、ABI変えられちゃうと、主要ディストリがStableでGCC5系を採用してくれないと、配布がしづらいですから。
もしくは、ディストリごとに別々のバイナリを配布しなくちゃならなくなるので、サイトの容量が大きくないと厳しい。
# いや、そんな言うならバイナリで配布すなと言われても、ソースコードだけでは怒り出す人達が結構いる状況だとねぇ…
Re: (スコア:0)
実行前にチェックするようにできんの?と言ってみる。
使えそうなら呼ぶ、使えなさそうならstaticな処理を呼ぶ。
windowsでdll呼ぶときときやっただけなんで、同じ事出来るか分からん。。
Re: (スコア:0)
.so に両方のライブラリを含めばよいような。
実際にはどういう対応がされてるんでしょ?
Re:ABIかわっちゃった… (スコア:1)
_GLIBCXX_USE_CXX11_ABI パラメータでABI が切り替えられる。
古いバイナリには古いABI で、新しくコンパイルする際には(デフォルトでは)新しいABI が使われる。
.so には両方入ってます。
Re: (スコア:0)
ありがとうございます。
だとすると、インターフェースが変わらない前提で
バイナリ(別ABIでコンパイルされたライブラリ)混在も動いたりするかな?