In ANSI c++ , there are some predefined macro that you can used , for example to write to your logs. __DATE__ A character string literal containing the date when the source file was compiled. The date will be in the form: "Mmm dd yyyy" __FILE__ Defined as a character string literal containing the name of the source file. __LINE__ Defined to be an integer representing the current source line number. __STDC__ Defined if the C compiler conforms to the ANSI standard. This macro is undefined if the language level is set to anything other than ANSI. __TIME__ Defined as a character string literal containing the time when the source file was compiled. The time will be in the form: "hh:mm:ss"__FUNCTION_ access the name of a currently executing function programmatically.
more macros could be found here Standard Predefined Macro, more about __FUNCTION__ could be found here Retrieve a Function's Name Programmatically
Code sample:#include
#ifdef __STDC__
# define CONFORM "conforms"
#else
# define CONFORM "does not conform"
#endif
int main(void)
{
printf("Line %d of file %s has been executed\n", __LINE__, __FILE__);
printf("This file was compiled at %s on %s\n", __TIME__, __DATE__);
printf("This program %s to ANSI standards\n", CONFORM);
}
Yaniv Tzanany
No comments:
Post a Comment