ANSIC标准定义的6种C语言预定义宏
LINE_:表示当前源代码的行号;
FILE:表示当前源文件的名称;
DATE:表示当前的编译日期;
TIME:表示当前的编译时间;
STDC:当要求程序严格遵循ANSI C标准时该标识被赋值为1;
__cplusplus:当编写C++程序时该标识符被定义。
要用到这几个宏定义时需要添加头文件
#include <stdio.h>
#include <stdlib.h>
相关测试代码如下:
#include <iostm8s003F3.h>
#include <stdio.h>
#include <stdlib.h>
#include "led.h"
#include "uart.h"
//系统时钟初始化
void SysClkInit( void )
{
CLK_SWR = 0xe1; //HSI为主时钟源 16MHz CPU时钟频率
CLK_CKDIVR = 0x00; //CPU时钟0分频,系统时钟0分频
}
//延时函数
void delay_ms( unsigned int ms )
{
unsigned char i;
while( ms != 0 )
{
for( i = 0; i < 250; i++ );
for( i = 0; i < 75; i++ );
ms--;
}
}
void main( void )
{
SysClkInit();
LED_GPIO_Init();
Uart1_IO_Init();
Uart1_Init( 9600 );
while( 1 )
{
LED = 1;
delay_ms( 500 );
LED = 0;
delay_ms( 500 );
printf( "DATE:%s\r\n", __DATE__ );
printf( "Time:%s\r\n", __TIME__ );
printf( "File:%s\r\n\r\n", __FILE__ );
}
}
串口输出数据如下: