比如,获取当前构建的版本号,怎么办?
有人马上说,定义一个常量,直接使用即可:
#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;
}
也许有人有更好的做法,期待共享。