問題タブ [bionic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2393 参照

android - 組み込みシステムが glibc と bionic のどちらを使用しているか知っていますか?

たとえば、Android は glibc ではなくバイオニックを使用していますが、glibc ではなくバイオニックhttp://en.wikipedia.org/wiki/Bionic_(software)を実際に使用していることを確認するにはどうすればよいですか?

/procファイルシステムでこの情報を見つけることができますか、または現在のシステムでバイオニックが使用されていることを確認できるコマンドはありますか?

ところで、組み込みシステムで複数の c lib を持つことは可能ですか?

0 投票する
1 に答える
3174 参照

c - glibC と bioniC の違い

こんにちは、最適化に問題があります。
組み込み関数を使用して gcc テストの 1 つをコンパイルしようとしました。

次の 2 つの方法でコンパイルしようと

gcc -mglibc -O -ffast-math -std=c99 -fno-ident -S -o builtins-58.s
ました call powcall cbrt

2つの方法:代わりに
gcc -mbionic -O -ffast-math -std=c99 -fno-ident -S -o builtins-58.s
使用して、出力を取得しました-mbionic-mglibccall pow

optmimization関数がどのようにbuiltin機能するか知っている人はいますかBionic

0 投票する
2 に答える
514 参照

c++ - atexit() 関数のバイオニックと glibc の比較

私は興味深い瞬間を見つけました:atexit()関数は と に対して異なる働きをbionicglibcます。次に例を示します。

の結果bionic:

の結果glibc:

結果が異なるのはなぜですか?

0 投票する
1 に答える
563 参照

android - Android で time(NULL) を使用する

time(NULL)Androidでの使用に関する既知の問題はありますか?

次のコードを実行してみました。

次に、次の形式を使用して結果をログに記録します。

これは私が得た出力です:

異なるループ反復で同じ時間値を取得するなど、他の問題もありました。

これらの問題は、Android 4.0.3 (API 15) を実行している仮想デバイスと物理デバイスの両方で発生しました。どちらも正しい時刻で構成されていました。上記の出力は、物理デバイスからのものです。

Bionic のこの特定の POSIX 関数に問題があると思われますが、オンラインでも Bionic ドキュメントでも、そのような参照は見つかりませんでした。

0 投票する
0 に答える
223 参照

android - Bionic Cライブラリでサポートされていない標準Cライブラリを使用してAndroid-NDKでビルドするにはどうすればよいですか?

私のネイティブソースは複雑な操作(defining)を利用しています。これらの操作は、標準のC99数学ライブラリに実装されていますが、Android-NDKで使用されるバイオニック数学ライブラリには実装されていません。このため、ソースをコンパイルするために、bionicmathライブラリの代わりにStandardMathライブラリを使用したいと思います。

私の可能性は何ですか?

0 投票する
2 に答える
581 参照

android - 組み込み Linux での dalvik segfault

全て。組み込み Linux で dalvikVM を実行しようとしています。qemu で実行する zynq-zc702 には xilinx-linux を使用しています。私はこのチュートリアルに従いました:

http://www.bolatdinc.com/?p=336&cpage=1

ashmem と logger を Linux カーネルに移植し、armv7-a アーキテクチャ用に dalvik をコンパイルしました。しかし、/system/bin/dalvikvm を実行すると、次の strace で segfault が発生します。

奇妙なことに、dalvik/dalvikvm/Main.cpp main(...) 関数のすべての行にコメントを付けても、 return 0; を除きます。私はまだこのセグメンテーション違反を取得します。

ある種の libc/bionic の問題のようですが、解決方法はまだわかりません。

非常に基本的な helloworld アプリとそのための Android.mk を作成すると、Android ツリーの一部として helloworld をビルドすると、同じ segfault が発生します。arm-xilinx-linux-gnueabi-toolchain を使用して helloworld をビルドすると、問題なく動作します。これは、バイオニックではなくglibcにリンクされているためだと思います。

私はものを逆アセンブルするのが得意ではないので、helloworld と segfaulting を実行するために objdump -d の出力を添付しました。

働く:

セグメンテーションあり:

どんな助けやアイデアも大歓迎です。ありがとう

0 投票する
2 に答える
1165 参照

android - rand() 関数 Bionic と glibc の比較

rand()バイオニックの機能は、含めないと機能しないことがわかりましたstdlib.h

の結果glibc:
コンパイルが成功しました

の結果bionic:
コンパイルに失敗し ました

bionicソースには、次の実装があります。

なぜ機能するのに機能しglibcないのかbionic

0 投票する
2 に答える
888 参照

android - dlopen() は Android では失敗しますが、Linux では動作します

dlopen()遅延モードを使用して、特定の共有ライブラリを動的にロードしようとしています。もちろん、共有ライブラリには未解決のシンボルがありますが、遅延モードではそれらを無視することになっています。Linux ではそれらを無視し、実行時にシンボルが使用されると解決が実際に行われます。

しかし、Androidでは、レイジーモードを使用していますdlopen()が、未解決のシンボルが原因で失敗します。

これは私が話しているコードです

どうしたの ?