mbed 论坛坏了,所以我在这里发帖寻求帮助。
mbed 支持库和程序作为单独的实体。本着模块测试的精神,我想在我的库代码中加入一个测试例程。如果库作为程序导入并编译,则 main() 将被构建和链接,并生成一些测试输出。如果正常使用该库,则 main() 不会内置到代码中,从而防止链接器错误。
我可以查看任何预定义的预处理器指令来做出此决定吗?如果没有,是否有人对我如何在我的库中实施测试例程有建议?
为了清楚起见,这里是一个简单的例子:
如果您想试验/拉取请求建议,这里是 mbed 中的库/程序的链接
想知道它是程序还是库的示例代码
#include "mbed.h"
class LED_TEST:public DigitalOut{
public:
LED_TEST(PinName pin):DigitalOut(pin) {};
void TurnOn() {write(1);}
void TurnOff() {write(0);}
};
#ifdef __IN_A_PROGRAM //if I'm compiling as a program then I want to create this main for testing.
//if I'm compiling as a library I do not want the main to prevent linker problems
int main(void)
{
LED_TEST lt(LED1);
while (1)
{
lt.TurnOn();
wait(1);
lt.TurnOff();
wait(1);
}
}
#endif