問題タブ [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.
android - Androidのlibcバージョンとmallocの実装
Androidプラットフォームで使用されているlibcの実装は何ですか?どのmalloc実装が使用されていますか(ptmallocまたはtcmallocまたはその他)?
android - bionic(android libc)ミューテックスバリアント
bionic libcはどのタイプのミューテックスをサポートしていますか?
- 再帰的
- 時限
- アダプティブ
- エラーチェック
android - Android で使用されるライブラリ
https://android.googlesource.comからソースをダウンロードしましたが、クロス コンパイラを使用してライブラリ (バイオニック) と Dalvik VM をコンパイルできるかどうか知りたいですか? はいの場合、どうすればそれを行うことができますか?
c++ - ldオプション-lrtはどのライブラリを参照していますか(Bioniclibc)?
ldに対するこのオプションはどういう意味ですか?
-lrt
ldがリアルタイム拡張機能を備えたライブラリを探していることをある程度知っていますが、広範囲に検索した後、これが参照している正確な定義(またはどのライブラリ)を見つけることができませんでした。
Bionic(android)libcを使用すると、android NDKのドキュメントで、これが(pthreadとともに)統合されたことが詳しく説明されています。
暗黙的であるように思われるので質問します(つまり、カスタムコンパイルされたgdcを直接呼び出すと、ldが-lrtを見つけることができないというメッセージが表示されます)
編集
バイオニックの概要から
BionicのCライブラリには、独自のpthread実装がバンドルされています。これは、次のような他の従来のCライブラリとは異なります。
リアルタイム機能(別名-lrt)のサポートもCライブラリにバンドルされています。
問題は、collect2がオプション-lrt(および-lpthreads)をldに渡していることです。
この動作をオーバーライドする方法はありますか?
android - JVMとネイティブライブラリ間の通信
知りたかったのですが、Androidに、C /C++コードが記述されたアプリケーションがあるかどうかを考えてみてください。このコードを実行すると、ネイティブcライブラリが必要になります。では、DVMはこれらのライブラリとどのように通信するのでしょうか。ライブラリからリソースを取得するためにBinderを使用していますか?または、コードのこの部分はJVMで実行されません。そうでない場合、これはどこでどのように実行されますか?また、JVMとネイティブライブラリの間にリンクはありますか?
webtop - Driod Bionic の Webtop2sd
カスタム Webtop を起動できません。Webtop を起動すると、プログラムをインストールしたり、LXTerm を実行したりできない標準バージョンが表示されます。
ルート化されたストックの Bionic 902 を実行しています HDMI Webtop ハックを適用しました webtop2sd を実行しました カスタムの busybox インストーラーを実行しました e mbm.tar.bz2 パッチを適用しました webtop2sd インストーラーを再実行しました。
これらの手順の後に起動した Webtop に変更はありません。
webtop2sd の私の診断は次のとおりです: バージョン: 2.0.1 実行可能ファイルのマウント バージョン webtop2sd/2.0.0 インストール済みのカスタム ビジーボックス: Y Webtop コンフィギュレーターのバージョン: 33 現在マウントされている Webtop: webtop、mmcblk0p2
誰かがこれに対する解決策を持っていますか?
android - バイオニックCのpthread_cond_waitがアトミックではないのはなぜですか?
実装には競合状態があり、シグナルを見逃す可能性があります。問題は pthread_cond_wait 関数がアトミックでないことですか? ファイルhttps://github.com/android/platform_bionic/blob/master/libc/bionic/pthread.cのコメントでも同じことが説明されてい ます
この操作はアトミックであるべきではありませんか?
bionic - memcmp が bionic でこのようになっているのはなぜですか?
bionic で memcmp.c が次のようになっていることがわかりました。
for ループで同じロジックが 4 回繰り返されるのはなぜですか? 繰り返せないの?
Thx、ビクター
android - bionicのbcopy.cでこのコードスニペットを理解するにはどうすればよいですか?
http://androidxref.com/4.0.4/xref/bionic/libc/string/bcopy.cでmemcpyの実装を読みましたが、 次のコードは理解しにくいと思いますが、誰か説明できますか?
..。
これらのビット演算の意味は何ですか?彼らの意図は何ですか?
c - Android および libc スレッド セーフでの共有ネイティブ ライブラリ
私は Android 開発の初心者です (C/C++ の専門家でもありません) が、Android アプリで (他のプラットフォームの中でも) 使用されることになっている C で記述されたネイティブ共有ライブラリに取り組んでいます。
今、私はスレッド セーフについて考え始め、私のライブラリは現在スレッド セーフではない (静的/グローバル変数を使用している) と判断しました。問題ありません。1 つのスレッドから使用するだけです。
ここから私の実際の質問が始まります。インターネット上のいくつかの投稿 (たとえば、Launchpadなど) によると、バイオニック libc の一部 (特に stdio) は、少なくとも一部の Android リリースではスレッドセーフではないようです (まだ 3.0 より前をターゲットにしています)。つまり、このアプリ/プロセスで使用される他のネイティブ ライブラリは同じ libc インスタンスを共有し、スレッド セーフの問題を引き起こしますか? それとも、すべての共有ライブラリが独自の libc インスタンスを取得しますか?
libc がすべての共有ライブラリ間で共有されている場合、どの部分がスレッド セーフで、どの部分がそうでないかに関する情報はどこにありますか? 安全のために、同じスレッドのすべてのネイティブ ライブラリを使用する必要がありますか?
編集:私の現在の理解で更新:bionic libcは完全にスレッドセーフであると想定されており、上記の問題はほとんどの状況で発生しない孤立したバグです(多くのMTバグのように)。疑問は残りますが、私の推測では、プロセス全体が同じ libc インスタンスを共有しているということです。これは後でテストしてみます。