2
異なるプラットフォームで簡単にログを記録するためにマクロを使用しています。クロスプラットフォームのログマクロがウィンドウで機能しない
#include <android/log.h>
#define __ENGINE_LOG_INFO(msg, argptr) __android_log_vprint(ANDROID_LOG_INFO, __ENGINE_LOG_TAG, msg, argptr);
そして、ここで私はWindows上で試してみたcorresondingだ:ここで私はAndroid上で使用しているものの一部だ
#elif defined _WIN32 || _WIN64
#include <stdarg.h>
#include <stdio.h>
#define __ENGINE_LOG_INFO(msg, argptr) printf ("%s:%s",__ENGINE_LOG_TAG,"DEBUG:"); printf(msg, argptr); printf("\n");
マクロは、この関数で呼び出されますについては
void LogManagerImpl::LogInfo(const char* msg, ...)
{
va_list argptr;
va_start(argptr, msg);
__ENGINE_LOG_INFO(msg, argptr);
va_end(argptr);
}
たとえば、私はこれを次のように使用します:
これはAndroidでもうまくいきますが、何らかの理由でWindowsで偽の値を表示しているようです(毎回同じ値 - 非常に大きな値です)。私はそれが住所のように見えると思うようになっていますが、なぜそれが機能していないのか分かりません。何か案は?