#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "native-activity", __VA_ARGS__))
#define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "native-activity", __VA_ARGS__))
이것은 두 매크로에 대한 정의입니다. 나중에 코드에서 LOGI
및 LOGW
는C에서 세 개의 점이있는 #define
LOGW("Unable to eglMakeCurrent");
나는 복잡한 매크로와 일반 #define
을 피하려고하기 때문에, 내가 얻을 수있는이 방법
LOGI("accelerometer: x=%f y=%f z=%f",
event.acceleration.x, event.acceleration.y,
event.acceleration.z);
이 방법을 사용하는 것이 매크로 실제로 수단 . 여기에 3 점 표기법의 역할은 무엇입니까? 나중에 #define
이 코드에서 변경됩니까?
은 분명히 나는 3 점 표시 및 인수의 무한한 양하는 데 사용되는 것을 알고,하지만 난이 상황을 읽는 방법을 모르겠어요.
가변 매크로라고합니다. http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html – chris
@chris 그래서 좀 덜 장황하고 어떤 방식으로 논쟁을 재 배열하려고 노력하는 방법입니까? – Ken
흠, 나는'## __ VA_ARGS__'을 사용했을 것입니다. 그러나 여러분이 인자를 주어야만 괜찮습니다. – nneonneo