// android_compat.h - Android NDK 兼容垫片,通过 CMake force-include 注入每个源文件 // 不修改任何共用代码(client/、common/) #pragma once #ifdef __ANDROID__ #include #include #ifdef __cplusplus #include #include // strcpy_s(dest, src) — MSVC 2-arg 扩展,Android NDK 无此签名 template inline int strcpy_s(char (&dest)[N], const char* src) { strncpy(dest, src ? src : "", N - 1); dest[N - 1] = '\0'; return 0; } #endif // __cplusplus // rand_s — Windows 安全随机数,Android 用 arc4random 替代 #define rand_s(p) (*(p) = (unsigned int)arc4random(), 0) #endif // __ANDROID__