私はCではあまり強くありませんが、今はNDKで作業しています。変数のアドレスを16進数で記録するのに役立つ必要があります。私は__android_log_print
を使って一般的なログメッセージを出力しましたが、変数のアドレスをchar配列に変換するようにCに指示するにはどうすればよいですか?NDKの変数のアドレスを出力する/ログする方法
5
A
答えて
7
私はアンドロイドNDKで一度も働いたことはありませんが、__android_log_print
はprintf形式の文字で動作すると仮定しています。その場合は、%p
を使用することができます。
変数がint a = 10;
であるとします。
printf("%p\n", &a); //This will print in hexadecimal
EDIT:そのアドレスを印刷するには
受け入れ答え:
__android_log_print(SOME_PRIO, "sometag", "%p", &a);
2
私は、Android NDK何度と協力し、私が使用ネイティブlogcat前に試してみました。
__android_log_print(6, "deneme", "text"); -> this is error message
typedef enum android_LogPriority {
ANDROID_LOG_UNKNOWN = 0,
ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
ANDROID_LOG_SILENT, /* only for SetMinPriority(); must be last */
} android_LogPriority;
とCソースファイルのヘッダが含まよりもメイクよりも
#include <jni.h>
#include <android/log.h>
は__android_log_print`はprintf`はない `のような書式を持っているので、私はありません`
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := deneme-jni
LOCAL_SRC_FILES := deneme.c
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
関連する問題
- 1. MSBuildからログに変数値を出力する方法
- 2. Ember.js - モデルのログをコンソールに出力する方法
- 3. matchステートメントの出力を変数に保存する方法は?
- 4. PHPのオブジェクト内で変数を出力する方法
- 5. npgsqlログ出力をlog4netロガーにリダイレクトする方法は?
- 6. 関数の出力をbashの変数に代入する方法は?
- 7. MySQLクエリ文字列に変数を出力する方法は?
- 8. mysql出力から変数を定義する方法
- 9. Doxygen出力から変数を除外する方法は?
- 10. ストアドプロシージャを使用して出力変数の数を取得する方法は?
- 11. 変数を出力する際のストリップヘッダー
- 12. ストアドプロシージャの出力をSQL Serverの変数に返す方法
- 13. 入出力ログを維持するR
- 14. Genshi - スコープ内のすべての変数を出力する方法
- 15. 春のブートテスト(統合テスト)中に自動ログ出力を表示する方法
- 16. 実際のWindows Phone 8デバイスのログ出力にアクセスする方法
- 17. Surefire:出力の振る舞いを変更する方法
- 18. NSAutoresizingMaskLayoutConstraintのログ出力を読み込む方法は?
- 19. ログ文がプログラムの出力を変更するのはなぜですか?
- 20. アプリケーションログではなくApacheログにログを出力する
- 21. 出力をシェルスクリプト変数に割り当てる方法は?
- 22. Groovyによるプロセス出力のログ
- 23. maximaでsolveの出力を変数に代入する方法は?
- 24. 文字列内の変数を出力する「適切な」方法
- 25. 端末からの出力を変数に保存する方法
- 26. 次の16進数の出力を決定する方法
- 27. Pythonログpythonインタプリタの出力
- 28. Androidのログ出力HAL
- 29. ログ出力の制御
- 30. NetworkChangeクラスのネイティブ同等。 WindowsでIPアドレスの変更を検出する方法
うんのように見えるが、実際にアドレスを文字列に変換してからこの関数に渡す必要があります。 – Phonon
私は文書を素早く見て、 '' __android_log_print(SOME_PRIO、 "sometag"、 "%p"、&a); ''、申し訳ありません。 – Fred
) ) – Phonon