[C / C ++] Obtenir l'heure de compilation en langage C | Heure de compilation d'impression du programme

Imprimer la date et l'heure de compilation du micrologiciel
printf ("Heure de compilation du micrologiciel:% s% s \ n", __DATE__, __TIME__);
résultat

Temps de compilation du micrologiciel: 11 février 2020 19:41:48
1 La
méthode de mise en œuvre consiste à utiliser des macros prédéfinies en langage C.
Le standard ANSIC définit des macros prédéfinies utilisables en langage C:
1. __ LINE__: insérez le numéro de ligne du code source actuel
dans le code source 2. __ FILE __: insérez le nom du fichier de code source actuel dans le code source
3. __ DATE __: Insérez la date de compilation actuelle dans le code source (notez qu'elle se distingue de la date système actuelle)
4. __ TIME __: Insérez l'heure de compilation actuelle dans le code source (notez qu'elle se distingue de l'heure système actuelle )

Les identificateurs __LINE__ et __FILE__ sont généralement utilisés pour déboguer les programmes; les
identificateurs __DATE__ et __TIME__ sont généralement utilisés pour ajouter un horodatage au programme compilé afin de distinguer différentes versions du programme;
ces quatre sont des macros précompilées, non incluses dans l'en-tête file
__FILE__ est le nom de fichier du fichier actuellement compilé est une chaîne
__TIME__ est le format de l'heure de compilation du fichier actuellement compilé est hh: mm: ss est la chaîne
__DATE__ est la compilation actuelle Le format de la date de compilation du fichier est Mmm : jj: aaaa, la chaîne
__LINE__ est le nombre de lignes où l'instruction de macro est appelée, et c'est un nombre décimal.

Lien d'origine: https://blog.csdn.net/toopoo/article/details/104269471

void Get_Compile_Date_Base(uint8_t *Year, uint8_t *Month, uint8_t *Day)
{
	const char *pMonth[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
	const char Date[12] = __DATE__;//取编译时间
	uint8_t i;
	for(i = 0; i < 12; i++)if(memcmp(Date, pMonth[i], 3) == 0)*Month = i + 1, i = 12;
	*Year = (uint8_t)atoi(Date + 9); //Date[9]为2位年份,Date[7]为完整年份
	*Day = (uint8_t)atoi(Date + 4);
}
char g_date_buf[10];
char* Get_Compile_Date(void)
{
	uint8_t  Year, Month, Day;
	Get_Compile_Date_Base(&Year, &Month, &Day);//取编译时间
	sprintf(g_date_buf, "%02d%02d%02d", Year, Month, Day);//任意格式化
	return g_date_buf;
}

https://blog.csdn.net/zhuohui307317684/article/details/106689835

Je suppose que tu aimes

Origine blog.csdn.net/bandaoyu/article/details/114704021
conseillé
Classement