タグ

AndroidとCに関するhts1004のブックマーク (2)

  • Android NDKで使えないシステムコール・ライブラリ関数一覧 : DSAS開発者の部屋

    Android NDKでCのコードを書いていると、普段のCプログラミングでは悩まないことで悩むことがあります。たとえば、AndroidのlibcはGoogle製でPOSIXに準拠していません。他のUnix系環境であれば必ず実装されているライブラリ関数が存在しないなどの罠があるため、メジャーなツールをビルドするのにもconfigure;makeが素直に通らなかったりします。 それだけでなく、Android NDKが提供する開発環境にも問題があります。特に、NDKで配られているヘッダファイルとビルド用の共有ライブラリで対応が取れていないのは頭痛のタネです。どういうことかというと、ヘッダファイルに定義されているシステムコールを使おうと思ったらリンカエラーが出ることがあります。 また、システムコールの一部については、カーネルレベルでは正しく実装されているもののlibcにインターフェース実装がなく、

    Android NDKで使えないシステムコール・ライブラリ関数一覧 : DSAS開発者の部屋
  • AndroidでC言語のライブラリのビルド方法のまとめ - yukobaのブログ

    AndroidLinux の一種でもあり、ARM で動く Linux 向けのC言語で書かれたライブラリの多くが動きます。(多少違うので、動かない場合もあり)。ただし、ビルド方法が暗黙の了解事項になってたりして、Android NDK にちゃんと書かれていなかったりするので、ここにまとめます! 以下、架空の libhoge をビルドすることとします。 ビルド対象は一般的に静的ライブラリ (.a) ファイルにしておくと吉です。自分で使う際は、自分の Android.mk に以下の物を追加します。 LOCAL_CFLAGS に -Ihoge-1.0/include みたいのを追加 LOCAL_LDLIBS に -Lhoge-1.0-android-build/$(TARGET_ARCH_ABI) と -l hoge を追加 ライブラリをビルドしてできた libhoge.a はこのフォルダに

    AndroidでC言語のライブラリのビルド方法のまとめ - yukobaのブログ
  • 1