请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:MSP430FR6989 工具/软件:Code Composer Studio
您好,
我正在使用CCS v.CCX.0调试代码7.1 ,有时在代码执行过程中,调试窗口会显示一个名为exit.c.的代码
我有点担心这是我的代码中的问题。
它的确切含义是什么?
exit.c代码如下所示。
#include <stdlib.h>
#include <pprof_h>
#include <stdio.h>
#ifdef __TI_RTS_Build
/*------------- */
/*__TI_DEFAULT_EXIT表示缺省的TI退出例程为 */
/*已使用。 链接程序假定在
看到此符号*/*时退出会执行什么操作。 如果
使用自定义退出例程*/*,则不应定义此符号。 */*------------------
*/
__ASM("__TI_DEFAULT_EXIT .SET 1");
#endif
extern void (*.__TI_CLEANG_PTR)(void);
extern void (*.__TI_dtors_ptr)(int);
typedef void (*PTRFUNC)();
int __TI_enable_exit_profile_output=1;*********************************************************************************************************************************************************************************************************************************************************
//*
exit()-正常程序终止。 *
///................ /
void exit (int状态)
{/*------------------
*/*
输出配置文件信息如果我们有一个有效的路径配置文件输出处理程序*//*------------------
*/
IF (__TI_ENable_EXIT_PROFILE输出&&)
_symval(&&_ti_pprof_out hndl)!=(unsigned long)-1)
{
PTRFUNC ppfunc =(PTRFUNC)(&&_TI_pprof_out _hndl);
(pppfunc)();
}
/*------------------ */
/*在访问GLOBALS时必须锁定,例如__TI_dters_PTR, */
/*__TI_CLEANG_PTR */*------------------
*/
_lock();/*------------------
*//*
ATEXIT函数和静态对象析构函数都是 在
__TI_dters_PTR所指的链接列表中注册的*/*,NOW Walk */*
通过此列表呼叫他们。 */*------------------
*/
IF (__TI_dters_PTR)(*.__TI_dters_PTR)(status);
/*------------------ */*
如果文件可能打开,__TI_CLEANG_PTR()将被设置
为*/*关闭它们。 */*------------------
*/
IF (__TI_CLEANG_PTR)(*.__TI_CLEANG_PTR)();
_UNLOCK ();
ABORT();
}/****************************************************
//*
中止-程序异常终止。 目前只是停止执行。 *
///................ /
void abort(void){/*------------------
*/*
设置C$exit标签,以便调试器知道C++程序何时
完成*/*。 如果未使用调试器,则可以删除此选项。 */*------------------
*/
___ ASM (" .global C$EXIT");
_ASM ("C$EXIT:NOP");
for (;;);/*永远自旋*/
}