我正在移植许多最初为C51编译器编写的代码。该代码广泛使用了“ ##”令牌粘贴功能。说明:http : //www.keil.com/support/man/docs/c51/c51_pp_tokenpastingop.htm
在armcc 5.06中如何使用令牌粘贴(或类似功能)?我将Keil MDK 5.28用于STM32目标设备。
我正在移植许多最初为C51编译器编写的代码。该代码广泛使用了“ ##”令牌粘贴功能。说明:http : //www.keil.com/support/man/docs/c51/c51_pp_tokenpastingop.htm
在armcc 5.06中如何使用令牌粘贴(或类似功能)?我将Keil MDK 5.28用于STM32目标设备。
与C51编译器类似,Arm Compiler 5(armcc)中的C / C ++编译器带有C预处理器。我只是使用-E选项预处理了以下Wikipedia页面(请参阅令牌串联)中的一个非常简单的示例:
https://zh.wikipedia.org/wiki...
(请参阅令牌串联。)
armcc -c -E -o test.txt test.c
…这将导致test.txt的正确输出:
typedef struct g_object_s g_object_t;
可以在armcc 5.06用户指南中找到更多信息:
http://infocenter.arm.com/hel...
Arm的最新编译器Arm Compiler 6(armclang)还支持预处理:
http://infocenter.arm.com/hel...
Arm Compiler 6和Arm Compiler 5都可以在Keil MDK中获得。
如果您还有其他问题,或者无法进行预处理,可以发表一个简单的示例来演示您所看到的内容。如果您还可以让我们知道您正在执行的特定任务,那也将很有趣。