比如,获取当前构建的版本号,怎么办?
有人马上说,定义一个常量,直接使用即可:
#define BUILD_VERSION "1.0.2" static bool getVersion(...) { STRINGZ_TO_NPVARIANT(BUILD_VERSION, *result); return true; }
从逻辑上来说完全正确。从实际运行来说……必然崩溃!
正确做法:
#define BUILD_VERSION "1.0.2" static bool getVersion(...) { char* temp = (char*)malloc(32); memset(temp, 0, 32); strcpy(temp, BUILD_VERSION); STRINGZ_TO_NPVARIANT(temp, *result); //还不能释放! //free() return true; }
也许有人有更好的做法,期待共享。