C语言预定义宏的使用

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__ );
    }
}

串口输出数据如下:
在这里插入图片描述

发布了76 篇原创文章 · 获赞 30 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_20222919/article/details/102754526