¹Ì¸® Á¤ÀÇµÈ ¸ÅÅ©·Î(Predefined Macro)´Â ÄÄÆÄÀÏ·¯°¡ Á¦°øÇÏ´Â ¸ÅÅ©·ÎÀÌ´Ù. ÁÖ·Î ÄÄÆÄÀÏ·¯°¡ ÇöÀç »óȲÀ̳ª ÄÄÆÄÀÏÁß¿¡ Âü°íÇÒ¸¸ÇÑ Á¤º¸¸¦ ¾Ë·ÁÁÖ±â À§ÇÑ ¿ëµµ·Î »ç¿ëÇÑ´Ù. #defineÀ¸·Î Á¤ÀÇÇÏÁö ¾Ê¾Æµµ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ÀçÁ¤ÀÇÇÒ ¼öµµ ¾ø´Ù. ÇÊ¿äÇÒ ¶§ ÂüÁ¶ÇÏ¿© Á¤º¸¸¦ Á¶»çÇÒ ¼ö¸¸ ÀÖ´Â Àбâ Àü¿ë ¸ÅÅ©·Î »ó¼ö¶ó°í »ý°¢ÇÏ¸é µÈ´Ù.
¸ÅÅ©·Î¸í |
¼³¸í |
__DATE__ |
ÄÄÆÄÀ쵃 ¶§ÀÇ ³¯Â¥¸¦ ³ªÅ¸³»´Â ¹®ÀÚ¿ÀÌ´Ù. |
__TIME__ |
ÇöÀç ¼Ò½º°¡ ÃÖÈÄ ÄÄÆÄÀÏµÈ ½Ã°£À» ³ªÅ¸³»´Â ¹®ÀÚ¿ÀÌ´Ù. |
__TIMESTAMP__ |
ÇöÀç ¼Ò½º°¡ ÃÖÈÄ·Î ¼öÁ¤µÈ ³¯Â¥¿Í ½Ã°£À» ³ªÅ¸³½´Ù. |
__FILE__ |
ÇöÀç ¼Ò½º ÆÄÀÏÀÇ ¿ÏÀü °æ·ÎÀÌ´Ù. |
__LINE__ |
ÀÌ ¸ÅÅ©·Î°¡ Æ÷ÇÔµÈ ¼Ò½º»óÀÇ ÁÙ ¹øÈ£ÀÌ´Ù. 10Áø Á¤¼öÀÌ´Ù. |
__STDC__ |
ÄÄÆÄÀÏ·¯°¡ ANSI C Ç¥ÁØÀ» µû¸¦ °æ¿ì 1·Î Á¤ÀÇµÇ¸ç ±×·¸Áö ¾ÊÀ» °æ¿ì Á¤ÀǵÇÁö ¾Ê´Â´Ù. C++·Î ÄÄÆÄÀÏÇÒ ¶§´Â ÀÌ ¸ÅÅ©·Î°¡ ¾ø´Ù. |
ÀÌ ¸ÅÅ©·ÎµéÀ» ÂüÁ¶Çϸé ÄÄÆÄÀ쵃 ¶§ÀÇ ³¯Â¥, ½Ã°£, ¼Ò½º ÆÄÀϸí, ÁÙ ¼ö µîÀÇ ¿©·¯ °¡Áö Á¤º¸µéÀ» ÄÄÆÄÀÏ Áß¿¡ ±¸Çؼ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ´Â °£´ÜÇÑ ¿¹Á¦¸¦ º¸ÀÚ. ¸ÅÅ©·ÎÀÇ °ªÀ» Ãâ·ÂÇØ º¸±â¸¸ Çß´Ù.
¿¹ Á¦ : PreDefMacro |
#include <Turboc.h>
void main()
{
printf("¿À´ÃÀº %sÀÌ°í ÃÖÈÄ ÄÄÆÄÀÏµÈ ½Ã°£Àº %sÀÔ´Ï´Ù.\n", __DATE__, __TIME__);
printf("ÀÌ ÆÄÀÏÀÌ ÃÖÁ¾ ¼öÁ¤µÈ ½Ã°£Àº %sÀÔ´Ï´Ù.\n", __TIMESTAMP__);
printf("ÀÌ ÆÄÀÏÀº %sÀÌ°í ÀÌ ÁÙÀº %dÀÔ´Ï´Ù.\n",__FILE__, __LINE__);
#ifdef __STDC__
printf("ÀÌ ÄÄÆÄÀÏ·¯´Â ANSI CÇ¥ÁØÀ» µû¸¨´Ï´Ù.\n");
#else
printf("ÀÌ ÄÄÆÄÀÏ·¯´Â ANSI CÇ¥ÁØÀÇ È®Àå(C++)ÀÔ´Ï´Ù.\n");
#endif
}
½ÇÇà °á°ú´Â ´ÙÀ½°ú °°Àºµ¥ ÄÄÆÄÀÏÇÒ ¶§ÀÇ ³¯Â¥¿Í ½Ã°£Àº ¸Å¹ø ´Þ¶óÁú °ÍÀÌ´Ù.
¿À´ÃÀº Jun 16 2004ÀÌ°í ÃÖÈÄ ÄÄÆÄÀÏµÈ ½Ã°£Àº 09:34:50ÀÔ´Ï´Ù.
ÀÌ ÆÄÀÏÀÌ ÃÖÁ¾ ¼öÁ¤µÈ ½Ã°£Àº Wed Jun 16 09:34:50 2004ÀÔ´Ï´Ù.
ÀÌ ÆÄÀÏÀº C:\CExam\CExam\PreDefMacro.cppÀÌ°í ÀÌ ÁÙÀº 7ÀÔ´Ï´Ù.
ÀÌ ÄÄÆÄÀÏ·¯´Â ANSI CÇ¥ÁØÀÇ È®Àå(C++)ÀÔ´Ï´Ù.
ÀÌ ¸ÅÅ©·ÎµéÀº È°¿ëÇϱ⿡ µû¶ó¼ ¿©·¯ °¡Áö ¿ëµµ°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î ½ÇÇàÁß¿¡ µð¹ö±ë Á¤º¸¸¦ Ãâ·ÂÇÏ´Â ÇÔ¼ö(assert)¿¡¼ __FILE__, __LINE__À» »ç¿ëÇϸé ÇöÀç ½ÇÇàµÇ°í ÀÖ´Â °÷ÀÇ ¼Ò½º ÆÄÀÏ°ú ±× À§Ä¡¸¦ ½±°Ô Ãâ·ÂÇÒ ¼ö ÀÖÀ¸¸ç ³¯Â¥³ª ½Ã°£ Á¤º¸´Â ¼Ò½ºÀÇ ¹öÀü °ü¸®¿¡ È°¿ëµÉ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ´ÙÀ½Àº ºñÁÖ¾ó C++ ÄÄÆÄÀÏ·¯°¡ Á¦°øÇÏ´Â ¹Ì¸® Á¤ÀÇµÈ ¸ÅÅ©·ÎµéÀÌ´Ù. Ç¥ÁØÀº ¾Æ´Ï¹Ç·Î ´Ù¸¥ ÄÄÆÄÀÏ·¯¿¡¼´Â ¾øÀ» ¼öµµ ÀÖ´Ù.
¸ÅÅ©·Î¸í |
¼³¸í |
_DEBUG |
µð¹ö±× ¸ðµå·Î ÄÄÆÄÀÏÁßÀÏ ¶§¸¸ Á¤ÀǵȴÙ. |
__cplusplus |
C++ ¸ðµå·Î ÄÄÆÄÀÏÁßÀÏ ¶§¸¸ Á¤ÀǵȴÙ. |
_DLL |
DLL ÇÁ·ÎÁ§Æ®ÀÏ ¶§¸¸ Á¤ÀǵȴÙ. |
_MSC_VER |
ºñÁÖ¾ó C++ÀÇ ÄÄÆÄÀÏ·¯ ¹öÀüÀ» ³ªÅ¸³½´Ù. 6.0Àº 1200À¸·Î Á¤ÀǵǸç 7.0(´å³Ý)Àº 1300À¸·Î Á¤ÀǵȴÙ. |
_MFC_VER |
MFC ¶óÀ̺귯¸®ÀÇ ¹öÀü°ª |
_ATL_VER |
ATLÀÇ ¹öÀü°ª |
_WIN32 |
Win32 ȯ°æÀÏ ¶§ Á¤ÀǵȴÙ. |
_WIN64 |
Win64 ȯ°æÀÏ ¶§ Á¤ÀǵȴÙ. |
__COUNTER__ |
ÂüÁ¶µÉ ¶§¸¶´Ù 1¾¿ Áõ°¡ÇÏ´Â Á¤¼ö°ªÀÌ´Ù. À¯ÀÏÇÑ À̸§À» ¸¸µé°íÀÚ ÇÒ ¶§ ÀÌ ¸ÅÅ©·Î¸¦ »ç¿ëÇÑ´Ù. 7.0 À̻󿡼¸¸ Á¦°øµÈ´Ù. |
_M_ALPHA, _M_IX86, _M_IA64, _M_MPPC |
CPUÀÇ Á¾·ùÀÌ´Ù. Ç÷§Æû¿¡ µû¶ó ¾à°£¾¿ Äڵ尡 ´Þ·ÁÁ®¾ß ÇÒ ¶§ ÀÌ ¸ÅÅ©·Î¸¦ ÂüÁ¶ÇÑ´Ù. |
ÀÌ Áß ÀϺδ ÀÌ¹Ì »ç¿ëÇØ º» Àûµµ ÀÖÀ» °ÍÀÌ°í Ç¥ÁØ Çì´õ ÆÄÀÏ¿¡¼µµ ½É½ÉÄ¡¾Ê°Ô È°¿ë¿¹¸¦ º¼ ¼ö ÀÖ´Ù. ƯÈ÷ _DEBUG ¸ÅÅ©·Î´Â µð¹ö±× ¹öÀü°ú ¸±¸®Áî ¹öÀüÀÇ Äڵ带 ´Ù¸£°Ô ÀÛ¼ºÇÒ ¶§ ÈçÇÏ°Ô »ç¿ëµÈ´Ù. ÄÄÆÄÀÏ·¯ ¹öÀüÀ̳ª Ç÷§Æû, ¿î¿µÃ¼Á¦ ȯ°æ¿¡ µû¶ó ´Ù¸¥ Äڵ尡 ÇÊ¿äÇÏ´Ù¸é ÀÌ ¸ÅÅ©·ÎµéÀ» ÂüÁ¶ÇÏ¸é µÈ´Ù.