This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1312R:迁移到 RTOS7项目-与 RTOS 相关的构建错误

Guru**** 2486065 points
Other Parts Discussed in Thread: SYSCONFIG, SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1182442/cc1312r-migration-to-rtos7-project---rtos-related-build-errors

器件型号:CC1312R
Thread 中讨论的其他器件:SysBIOSSysConfig

大家好、我正在使用 SDK 将项目迁移到 RTOS7:simplelink_cc13xx_cc26xx_sdk_6_30_01_03。  

报告了一个与 RTOS 相关的奇怪构建错误(您可以在部分构建控制台转储中看到这些错误):  

**** Build of configuration Debug__TICLANG_RTOS7_DebugAndTpPrint for project NgRf_DevPrototype ****

"C:\\ti\\ccs1210\\ccs\\utils\\bin\\gmake" -k -j 4 all -O 
 
Building file: "../NgRf_DevPrototype_Rtos7_DebugAndTpPrint.syscfg"
Invoking: SysConfig
"C:/ti/ccs1210/ccs/utils/sysconfig_1.14.0/sysconfig_cli.bat" -s "C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/.metadata/product.json" --script "D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/NgRf_DevPrototype_Rtos7_DebugAndTpPrint.syscfg" -o "syscfg" --compiler ticlang
Running script...
Validating...
warning: CONFIG_GPIO_DIG_INPUT_PWR(/ti/drivers/GPIO) gpioPin: Connected to hardware
	DIO11/18 is connected to LaunchPad SPI Bus Chip Select on the CC1312R1 LaunchPad. Consider selecting it in 'use hardware' above. Using a custom board?
Generating Code (NgRf_DevPrototype_Rtos7_DebugAndTpPrint.syscfg)...
Writing D:\RiscoProjects\NextGen\Software\NexGen_RF\NgRf_DevPrototype_ws\NgRf_DevPrototype\Debug__TICLANG_RTOS7_DebugAndTpPrint\syscfg\ti_devices_config.c...
Writing D:\RiscoProjects\NextGen\Software\NexGen_RF\NgRf_DevPrototype_ws\NgRf_DevPrototype\Debug__TICLANG_RTOS7_DebugAndTpPrint\syscfg\ti_drivers_config.c...
Writing D:\RiscoProjects\NextGen\Software\NexGen_RF\NgRf_DevPrototype_ws\NgRf_DevPrototype\Debug__TICLANG_RTOS7_DebugAndTpPrint\syscfg\ti_drivers_config.h...
Writing D:\RiscoProjects\NextGen\Software\NexGen_RF\NgRf_DevPrototype_ws\NgRf_DevPrototype\Debug__TICLANG_RTOS7_DebugAndTpPrint\syscfg\ti_utils_build_linker.cmd.genlibs...
Writing D:\RiscoProjects\NextGen\Software\NexGen_RF\NgRf_DevPrototype_ws\NgRf_DevPrototype\Debug__TICLANG_RTOS7_DebugAndTpPrint\syscfg\syscfg_c.rov.xs...
Writing D:\RiscoProjects\NextGen\Software\NexGen_RF\NgRf_DevPrototype_ws\NgRf_DevPrototype\Debug__TICLANG_RTOS7_DebugAndTpPrint\syscfg\ti_utils_runtime_model.gv...
Writing D:\RiscoProjects\NextGen\Software\NexGen_RF\NgRf_DevPrototype_ws\NgRf_DevPrototype\Debug__TICLANG_RTOS7_DebugAndTpPrint\syscfg\ti_utils_runtime_Makefile...
Writing D:\RiscoProjects\NextGen\Software\NexGen_RF\NgRf_DevPrototype_ws\NgRf_DevPrototype\Debug__TICLANG_RTOS7_DebugAndTpPrint\syscfg\ti_sysbios_config.h...
Writing D:\RiscoProjects\NextGen\Software\NexGen_RF\NgRf_DevPrototype_ws\NgRf_DevPrototype\Debug__TICLANG_RTOS7_DebugAndTpPrint\syscfg\ti_sysbios_config.c...
0 error(s), 1 warning(s)
Finished building: "../NgRf_DevPrototype_Rtos7_DebugAndTpPrint.syscfg"
 
Building file: "syscfg/ti_devices_config.c"
Invoking: Arm Compiler
"C:/ti/ccs1210/ccs/tools/compiler/ti-cgt-armllvm_2.1.2.LTS/bin/tiarmclang.exe" -c -march=thumbv7em -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -O0 -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/application" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_common_sources" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_device_common" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_device_common/RfDriver" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_device_sensor_controller" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/Debug__TICLANG_RTOS7_DebugAndTpPrint" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages" -I"C:/ti/ccs1210/ccs/tools/compiler/ti-cgt-armllvm_2.1.2.LTS/include" -DuECC_SUPPORTS_secp256r1 -DDeviceFamily_CC13X2 -DTHIS_DEV_GROUP=DEV_GROUP_DETECTORS -DDEBUG -D_SW_RESET_DISABLED -D_WDT_RESET_DISABLED -D_NG_RF_DRV_DEBUG_STAT_EN -DDEFAULT_TX_POWER_3DBM -DDEBUG_APP_TEST_TASK_EN -DDEBUG_PRINT_GLOBAL_EN -DDEBUG_TP_PRINT_GLOBAL_EN -DRFDRV_TP_PRINT_ENABLED -DDEBUG_NET_TIME_SLOTS_PULSE_EN -DRFNETSYNC_TP_PRINT_ENABLED -DRFNETOOS_TP_PRINT_ENABLED -DIO_TP_PRINT_ENABLED -DSCAPP_TP_PRINT_ENABLED -DSCEMUL_TP_PRINT_ENABLED -DRFNETSYNC_TRACE_PRINT_ENABLED -DTOGGLE_DEV_LATENCY_WITH_BTN2_EN -UDO_NOT_SAVE_REGISTRATION_PARAM_TO_NVS -URFTXSEC_TP_PRINT_ENABLED -URFTXSEC_TRACE_PRINT_ENABLED -UWORK_WITHOUT_RF_ENCRYPTION -gdwarf-3 -Werror=ti-pragmas -Werror=ti-macros -Werror=ti-intrinsics -fno-short-wchar -fcommon -ffunction-sections -march=armv7e-m -MMD -MP -MF"syscfg/ti_devices_config.d_raw" -MT"syscfg/ti_devices_config.o" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/Debug__TICLANG_RTOS7_DebugAndTpPrint/syscfg" -std=gnu9x  -o"syscfg/ti_devices_config.o" "syscfg/ti_devices_config.c"
Finished building: "syscfg/ti_devices_config.c"
 
Building file: "syscfg/ti_sysbios_config.c"
Invoking: Arm Compiler
"C:/ti/ccs1210/ccs/tools/compiler/ti-cgt-armllvm_2.1.2.LTS/bin/tiarmclang.exe" -c -march=thumbv7em -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -O0 -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/application" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_common_sources" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_device_common" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_device_common/RfDriver" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_device_sensor_controller" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/Debug__TICLANG_RTOS7_DebugAndTpPrint" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages" -I"C:/ti/ccs1210/ccs/tools/compiler/ti-cgt-armllvm_2.1.2.LTS/include" -DuECC_SUPPORTS_secp256r1 -DDeviceFamily_CC13X2 -DTHIS_DEV_GROUP=DEV_GROUP_DETECTORS -DDEBUG -D_SW_RESET_DISABLED -D_WDT_RESET_DISABLED -D_NG_RF_DRV_DEBUG_STAT_EN -DDEFAULT_TX_POWER_3DBM -DDEBUG_APP_TEST_TASK_EN -DDEBUG_PRINT_GLOBAL_EN -DDEBUG_TP_PRINT_GLOBAL_EN -DRFDRV_TP_PRINT_ENABLED -DDEBUG_NET_TIME_SLOTS_PULSE_EN -DRFNETSYNC_TP_PRINT_ENABLED -DRFNETOOS_TP_PRINT_ENABLED -DIO_TP_PRINT_ENABLED -DSCAPP_TP_PRINT_ENABLED -DSCEMUL_TP_PRINT_ENABLED -DRFNETSYNC_TRACE_PRINT_ENABLED -DTOGGLE_DEV_LATENCY_WITH_BTN2_EN -UDO_NOT_SAVE_REGISTRATION_PARAM_TO_NVS -URFTXSEC_TP_PRINT_ENABLED -URFTXSEC_TRACE_PRINT_ENABLED -UWORK_WITHOUT_RF_ENCRYPTION -gdwarf-3 -Werror=ti-pragmas -Werror=ti-macros -Werror=ti-intrinsics -fno-short-wchar -fcommon -ffunction-sections -march=armv7e-m -MMD -MP -MF"syscfg/ti_sysbios_config.d_raw" -MT"syscfg/ti_sysbios_config.o" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/Debug__TICLANG_RTOS7_DebugAndTpPrint/syscfg" -std=gnu9x  -o"syscfg/ti_sysbios_config.o" "syscfg/ti_sysbios_config.c"
subdir_rules.mk:27: recipe for target 'syscfg/ti_sysbios_config.o' failed
In file included from syscfg/ti_sysbios_config.c:30:
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/runtime/Assert.h:90:5: error: expected identifier or '('
    if (!(c)) __asm("bkpt #13"); } while (0);
    ^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/runtime/Assert.h:90:34: error: extraneous closing brace ('}')
    if (!(c)) __asm("bkpt #13"); } while (0);
                                 ^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/runtime/Assert.h:90:36: error: expected identifier or '('
    if (!(c)) __asm("bkpt #13"); } while (0);
                                   ^
In file included from syscfg/ti_sysbios_config.c:122:
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/BIOS.c:237:1: error: expected 'while' in do/while loop
void BIOS_registerRTSLock(void)
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/BIOS.c:225:5: note: to match this 'do'
    Assert_isTrue((BIOS_module->rtsGateCount), NULL);
    ^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/runtime/Assert.h:88:30: note: expanded from macro 'Assert_isTrue'
#define Assert_isTrue(c, id) do { \
                             ^
In file included from syscfg/ti_sysbios_config.c:123:
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/Boot.c:51:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/Boot.c:59:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/Boot.c:68:1: error: function definition is not allowed here
{
^
In file included from syscfg/ti_sysbios_config.c:124:
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:58:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:82:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:90:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:98:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:106:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:114:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:122:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:130:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:138:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/ClockSupport.c:146:1: error: function definition is not allowed here
{
^
In file included from syscfg/ti_sysbios_config.c:125:
In file included from C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages\ti/sysbios/family/arm/cc26xx/Seconds.c:49:
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source\ti/devices/cc13x2_cc26x2/driverlib/aon_rtc.h:173:1: error: function definition is not allowed here
{
^
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source\ti/devices/cc13x2_cc26x2/driverlib/aon_rtc.h:194:1: error: function definition is not allowed here
{
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
gmake: *** [syscfg/ti_sysbios_config.o] Error 1
Building file: "syscfg/ti_drivers_config.c"
Invoking: Arm Compiler
"C:/ti/ccs1210/ccs/tools/compiler/ti-cgt-armllvm_2.1.2.LTS/bin/tiarmclang.exe" -c -march=thumbv7em -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -O0 -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/application" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_common_sources" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_device_common" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_device_common/RfDriver" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/rf_device_sensor_controller" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/Debug__TICLANG_RTOS7_DebugAndTpPrint" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages" -I"C:/ti/ccs1210/ccs/tools/compiler/ti-cgt-armllvm_2.1.2.LTS/include" -DuECC_SUPPORTS_secp256r1 -DDeviceFamily_CC13X2 -DTHIS_DEV_GROUP=DEV_GROUP_DETECTORS -DDEBUG -D_SW_RESET_DISABLED -D_WDT_RESET_DISABLED -D_NG_RF_DRV_DEBUG_STAT_EN -DDEFAULT_TX_POWER_3DBM -DDEBUG_APP_TEST_TASK_EN -DDEBUG_PRINT_GLOBAL_EN -DDEBUG_TP_PRINT_GLOBAL_EN -DRFDRV_TP_PRINT_ENABLED -DDEBUG_NET_TIME_SLOTS_PULSE_EN -DRFNETSYNC_TP_PRINT_ENABLED -DRFNETOOS_TP_PRINT_ENABLED -DIO_TP_PRINT_ENABLED -DSCAPP_TP_PRINT_ENABLED -DSCEMUL_TP_PRINT_ENABLED -DRFNETSYNC_TRACE_PRINT_ENABLED -DTOGGLE_DEV_LATENCY_WITH_BTN2_EN -UDO_NOT_SAVE_REGISTRATION_PARAM_TO_NVS -URFTXSEC_TP_PRINT_ENABLED -URFTXSEC_TRACE_PRINT_ENABLED -UWORK_WITHOUT_RF_ENCRYPTION -gdwarf-3 -Werror=ti-pragmas -Werror=ti-macros -Werror=ti-intrinsics -fno-short-wchar -fcommon -ffunction-sections -march=armv7e-m -MMD -MP -MF"syscfg/ti_drivers_config.d_raw" -MT"syscfg/ti_drivers_config.o" -I"D:/RiscoProjects/NextGen/Software/NexGen_RF/NgRf_DevPrototype_ws/NgRf_DevPrototype/Debug__TICLANG_RTOS7_DebugAndTpPrint/syscfg" -std=gnu9x  -o"syscfg/ti_drivers_config.o" "syscfg/ti_drivers_config.c"
Finished building: "syscfg/ti_drivers_config.c"
 

请 更熟悉的人指导我如何解决此问题!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您是否看到了 TI-RTOS7的迁移指南?

    https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_6_40_00_13/docs/proprietary-rf/proprietary-rf-users-guide/tirtos/bios7_migration.html

    谢谢、

    玛丽·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Marie、

    我发现了出现此问题的原因-如果启用了项目中的某些设置(通过 SysConfig)、则无法生成某个内容!  

    启用 SysConfig->TI_RTOS->Runtime->Assert_Handling -> Use_BKPT_for_Assert_Function 会导致此情况!

    似乎有未完成的工作或错误导致了这种情况。

    此致、

    Dimitar   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Dimitar、

    我刚刚进行了测试、无法重现问题。 检查 项目仍然能够编译的 use_BKPT_for_assert_function (使用 PacketTx 示例进行测试)。

    您使用了哪个示例? 我想重现您看到的内容。

    谢谢、

    玛丽·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Marie、

    我已经使用 PacketTx 示例完成了测试,启用了 BKPT 和 ASSERT_ISTrue ()-问题不会重新出现。

    但我的项目仍然存在此问题、因此我将向您(私下)发送具有现有问题的条带化版本。 我希望看到这个问题、有人会解决这个问题、或者至少向我解释错误的地方。

    此致、

    Dimitar    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Dimitar、

    这是 assert.h 中的一个错误 您能否打开文件(C:\ti\simplelink_cc13xx_cc26xx_sdk_6_30_00_84\kernel\tirtos7\packages/ti\sysbios\runtime)并删除文件(下面第4行)第89行中的注释?

    #if BIOS_assertsEnabled_D
    #if Assert_useBkpt_D
    #define Assert_isTrue(c, id) do { \
        /* TODO: port the SW bkpt instruction to other ISAs */
        if (!(c)) __asm("bkpt #13"); } while (0);
    #else
    extern void Assert_failX(const char * id);
    #if Assert_addFileLine_D
    #define Assert_isTrue(c, id) do { \
        Error_PLACE_STR_IN_SECTION(loc, # id " (" __FILE__ ":" Error_STR(__LINE__) ")"); \
        if (!(c)) Assert_failX(loc); } while (0);
    #else
    #define Assert_isTrue(c, id) do { \
        Error_PLACE_STR_IN_SECTION(loc, # id); \
        if (!(c)) Assert_failX(loc); } while (0);
    #endif
    #endif
    #else
    #define Assert_isTrue(c, id)
    #endif

    谢谢、

    玛丽·H