18-3.pragma Áö½ÃÀÚ

18-3-°¡.once

C¾ð¾îÀÇ ÀåÁ¡ Áß Çϳª´Â ¾î´À ¿î¿µÃ¼Á¦³ª Ç÷§ÆûÀ¸·Î ½±°Ô ÀÌ½ÄµÉ ¼ö ÀÖ´Â À̽ļº(Portability)ÀÌ´Ù. À¯´Ð½º¿¡¼­ ÀÛ¼ºÇÑ ¼Ò½º¸¦ À©µµ¿ìÁî·Î °¡Á®¿Í ÄÄÆÄÀÏÇÏ¸é ¶È°°Àº µ¿ÀÛÀ» ÇÏ´Â ½ÇÇà ÆÄÀÏÀ» ¾òÀ» ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ À̽ļºÀº ¾îµð±îÁö³ª ¼Ò½º Â÷¿ø¿¡¼­ ÀÌ½Ä °¡´É¼ºÀ» ÀǹÌÇÏ´Â °ÍÀÌÁö ÄÄÆÄÀÏµÈ °á°úÀÎ ½ÇÇà ÆÄÀÏÀº ±×·¸Áö ¾Ê´Ù. C¾ð¾î´Â À̽ļºÀÌ ÀÖÁö¸¸ C¾ð¾î¸¦ ƯÁ¤ Ç÷§Æû¿¡ ¸Â°Ô ÄÄÆÄÀÏÇÏ¿© °íÀ¯ÀÇ ½ÇÇà ÆÄÀÏÀ» ¸¸µé¾î ³»´Â ÄÄÆÄÀÏ·¯´Â º»ÁúÀûÀ¸·Î Ç÷§Æû¿¡ Á¾¼ÓÀûÀÌ´Ù.

±×·¡¼­ °¢ Ç÷§Æû¿¡¼­ ½ÇÇàµÇ´Â ÄÄÆÄÀÏ·¯´Â Ç÷§ÆûÀÇ °íÀ¯ÇÑ ±â´ÉÀ» ¼öÇàÇϱâ À§ÇÑ Áö¿øÀ» ÇØ¾ß ÇÑ´Ù. Ç÷§Æûº°·Î ±¸Á¶³ª ±â´ÉÀÌ ´Ù¸£±â ¶§¹®¿¡ ±¸Çöµµ ¾à°£¾¿ ´Þ¶óÁú ¼ö Àִµ¥ ¿¹¸¦ µé¾î ¸Þ¸ð¸®¸¦ °ü¸®ÇÏ´Â ¹æ½ÄÀ̳ª ½ÇÇà ÆÄÀÏÀÇ Æ¯¼öÇÑ ±¸Á¶·Î ÀÎÇÑ ÄÚµå ¹èÄ¡ ¹æ¹ýÀÌ Ç÷§Æûº°·Î °íÀ¯ÇÏ´Ù. #pragma Áö½ÃÀÚ´Â Ç÷§Æûº°·Î ´Ù¸¥ ÀÌ·± ±â´É¿¡ ´ëÇÑ Áö½Ã »çÇ×À» ÄÄÆÄÀÏ·¯¿¡°Ô Àü´ÞÇÏ´Â ¹æ¹ýÀÌ´Ù. #¹®ÀÚ·Î ½ÃÀÛÇϹǷΠÀüó¸® ¸í·Éó·³ º¸ÀÌÁö¸¸ ÄÄÆÄÀÏ·¯ Áö½ÃÀÚÀÌ´Ù. #pragma Áö½ÃÀÚÀÇ ±âº» Çü½ÄÀº ´ÙÀ½°ú °°´Ù.

 

#pragma ÅäÅ«¹®ÀÚ¿­

 

#pragma ´ÙÀ½¿¡ Áö½Ã »çÇ×À» Àü´ÞÇÏ´Â ÅäÅ« ¹®ÀÚ¿­ÀÌ ¿À´Âµ¥ ÀÌ ÅäÅ«ÀÇ Á¾·ù´Â ÄÄÆÄÀÏ·¯º°·Î ´Ù¸£´Ù. Ç÷§Æû¿¡ Á¾¼ÓÀûÀÎ ±â´É¿¡ ´ëÇÑ Áö½ÃÀÚÀ̹ǷΠ#pragma Áö½ÃÀÚ´Â ÄÄÆÄÀÏ·¯¿¡ ´ëÇؼ­ Á¾¼ÓÀûÀÏ ¼ö¹Û¿¡ ¾ø´Ù. ±×·¡¼­ ƯÁ¤ Ç÷§ÆûÀ» À§ÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§¸¸ »ç¿ëÇØ¾ß ÇÏ¸ç ²À À̽ļºÀ» À¯ÁöÇÏ·Á¸é Á¶°ÇºÎ ÄÄÆÄÀÏ Áö½ÃÀÚ¿Í ÇÔ²² »ç¿ëÇØ¾ß ÇÑ´Ù. ÄÄÆÄÀÏ·¯´Â #pragma ´ÙÀ½ÀÇ ÅäÅ«À» ÀνÄÇÒ ¼ö ¾øÀ» °æ¿ì ´Ü¼øÈ÷ ¹«½ÃÇØ ¹ö¸®¸ç ÄÄÆÄÀÏÀº °è¼Ó ¼öÇàÇÑ´Ù. ´ÙÀ½Àº ºñÁÖ¾ó C++ 6.0ÀÇ pragma ÅäÅ«µéÀÌ´Ù.

 

alloc_text, auto_inline, bss_seg, check_stack, code_seg, comment, component, conform

const_seg, data_seg, deprecated, function, hdrstop, include_alias, init_seg, inline_depth

inline_recursion, intrinsic, managed, message, once, optimize, pack, pointers_to_members

pop_macro, push_macro, runtime_checks, section, setlocale, unmanaged, vtordisp, warning

 

Á¾·ù°¡ ±²ÀåÈ÷ ¸¹°í ÀÌ Áß ¸î °¡Áö´Â ±²ÀåÈ÷ ¾î·Æ°í º¹ÀâÇÑ °Íµµ ÀÖ´Ù. ¿ì¼± °¡Àå ÀÌÇØÇϱ⠽¬¿î onceºÎÅÍ ±¸°æÇØ º¸ÀÚ. ÀÌ Áö½ÃÀÚ¸¦ Çì´õ ÆÄÀÏ ¼±µÎ¿¡ ½á µÎ¸é ÄÄÆÄÀÏ·¯´Â µü ÇÑ ¹ø¸¸ Çì´õ ÆÄÀÏÀ» Æ÷ÇÔÇÏ¿© ÄÄÆÄÀÏ ½Ã°£À» Àý¾àÇÑ´Ù. ´ÙÀ½°ú °°Àº Á¶°ÇºÎ ÄÄÆÄÀÏ Áö½ÃÀÚ·Î ÇÑ ¹ø¸¸ Æ÷ÇԵǵµ·Ï ÇÏ´Â °Í°ú È¿°ú°¡ µ¿ÀÏÇÏ´Ù.

 

#ifndef _SOME_HEADER_FILE

#define _SOME_HEADER_FILE

// Çì´õ ÆÄÀÏ ³»¿ë

#endif // _SOME_HEADER_FILE

 

°°Àº Çì´õ ÆÄÀÏÀ» ÀϺη¯ µÎ ¹ø Æ÷ÇÔÇÏÁö´Â ¾Ê°ÚÁö¸¸ Çì´õ ÆÄÀϳ¢¸® ¼­·Î ÁßøÀ» ÇÏ´Ù º¸¸é ¿øÄ¡ ¾Ê°Ô µÎ ¹ø Æ÷ÇԵǴ °æ¿ìµµ ÀÖ´Ù. Çì´õ ÆÄÀÏ¿¡ Áߺ¹Çصµ »ó°ü¾ø´Â ¼±¾ð¸¸ ÀÖ´Ù¸é ¾Æ¹« ¹®Á¦°¡ ¾ø°ÚÁö¸¸ Áߺ¹Çؼ­´Â ¾ÈµÇ´Â Á¤ÀÇ°¡ ÀÖ´Â °æ¿ì´Â ÀÌ·± ½ÄÀ¸·Î ÇÑ ¹ø¸¸ Æ÷ÇÔÇϵµ·Ï ÇØ¾ß ÇÑ´Ù.