我正在处理的这个固件有两个不同的makefile.
为了区分这两个版本,我们在ble_通信中声明了两个变量.C
static uint8_t data_version1[] = {0x00, 0x00, 0x00, 0x00, 0x00};
static uint8_t data_version2[] = {0x01, 0x00, 0x00, 0x00, 0x00};
在ble_通信内部.我们有一个函数叫做
uint32_t start_broadcasting(void)
{
send_beacon(OPCODE, 0, /* determine data version here to send at runtime */, key);
}
我的问题是,因为我们使用的是同一个文件ble_通信.c对于这两个版本的构建,代码如何在运行时 Select 用于构建的变量?如果是数据版本1,我希望它使用数据版本1[],如果是数据版本2,它使用数据版本2[].
我不能使用#ifndef switch语句,因为新的设计准则不允许我使用它们