Здравствуйте, Erop, Вы писали:
E>Здравствуйте, ProGameDev, Вы писали:
E>PGD>>vslprintf( char* buffer, size_t count, const char* fmt, const void* va_list_arg )
PGD>>{
PGD>> int ret;
PGD>> ret = vsnprintf( buffer, count-1, fmt, va_list (va_list_arg) ); // здесь проблема с GCC-ARM
E>
PGD>>_xxxxx.cpp:98:71: error: invalid cast from type 'const void*' to type '__va_list'
PGD>>Build tool error : Command "X:/Tool/ga/android-ndk-r8d/toolchains/arm-linux-androideabi-4.7/prebuilt/windows/bin/arm-linux-androideabi-g++.exe" returned error 1
E>А с чего ты взял, что va_list кастится к указателю? Это от платформы зависит, вообще-то.
E>Посмотри в версию хедеров для ARM -- там скорее всего структура какая-то из двух полей, например...
Да конечно пересмотрел хедера. Там в итоге это __builtin_va_list.
E>В целом не ясно, зачем вообще представлять va_list как const void*?
Платформонезависимость.
Здесь имеется ввиду, что
#ifdef PLATFORM_X
ret = vsnprintf( buffer, count-1, fmt, va_list (va_list_arg) );
#elseif PLATFORM_Y
ret = _vsnprintf( майкрасофт стайл типа )
#elseif PLATFORM_Z
ret = ...
#endif
добавлена разметка