Using ANSI-Compliant Predefined Preprocessor Macros
A sample function that uses ANSI-Compliant Predefined Preprocessor Macros:
bool CPreprocessingDlg::UseANSICompliantPredefinedMacros(void)
{
// Using ANSI-Compliant Predefined Preprocessor Macros
TCHAR buffer[MAX_PATH];
CString m_strOutput;
m_strOutput += "-- ANSI-Compliant Predefined Macros --";
m_strOutput += "\r\n";
m_strOutput += "SOURCE FILE [__FILE__]:";
m_strOutput += __FILE__;
m_strOutput += "\r\n";
m_strOutput += "MODIFIED [__TIMESTAMP__]:";
m_strOutput += __TIMESTAMP__;
m_strOutput += "\r\n";
m_strOutput += "COMPILED [__DATE__]:";
m_strOutput += __DATE__;
m_strOutput += " at ";
m_strOutput += __TIME__;
m_strOutput += "\r\n";
m_strOutput += "This is line number [__LINE__]:";
swprintf_s(buffer, MAX_PATH, TEXT("%d"), __LINE__);
m_strOutput += buffer;
m_strOutput += "\r\n";
m_strOutput += "ANSI C/C++ Standard Conformance [__STDC__]:";
#ifdef __STDC__
swprintf_s(buffer, MAX_PATH, TEXT("%s"), TEXT("YES"));
#else
swprintf_s(buffer, MAX_PATH, TEXT("%s"), TEXT("NO"));
#endif
m_strOutput += buffer;
return false;
}
When the function finishes m_strOutput contains a string looking something like this:
-- ANSI-Compliant Predefined Macros -- SOURCE FILE [__FILE__]:f:\my source code\preprocessing\preprocessing\preprocessingdlg.cpp MODIFIED [__TIMESTAMP__]:Wed Nov 4 13:24:24 2009 COMPILED [__DATE__]:Nov 4 2009 at 13:24:25 This is line number [__LINE__]:184 ANSI C/C++ Standard Conformance [__STDC__]:NO
本文介绍了一个示例函数,该函数演示了如何在C/C++中使用ANSI标准预定义预处理器宏来获取源文件名、修改时间戳、编译日期、当前行号及是否遵循ANSI C/C++标准。
5626

被折叠的 条评论
为什么被折叠?



