MDK 代码优化导致的获取字符串长度问题
如下代码
// 平台_硬件版本_MCU型号_编译时间 (预留64字节空间,通过工具寻找并改写)
static const char MCU_VERSION[64] = "LATD_HW00_APP"; // 不要修改,工具会自动修改
// ARM获取MCU版本信息(0xA2)
static void _OnCmdA2_McuVersion(void) {
ArmUart_McuResponseArmFrame(0xA2, RETURN_CODE_ERR_SUCCESS, (uint8_t*)MCU_VERSION, Util_StrLen(MCU_VERSION));
}
在生成的BIN文件用工具更改MCU_VERSION的内容和长度后, 如果使用strlen, 参数中的长度依然没变化, 个人猜测编译器优化时对于这种常量, strlen被替换为sizeof
浙公网安备 33010602011771号