Á¤º¸: _declspec(dllimport) ¹× _declspec(dllexport) ÄÚµå »ç¿ë

±â¼ú ÀÚ·á: 132044 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

ÀÌ ÆäÀÌÁö¿¡¼­

¿ä¾à

ÀÌ ¹®¼­¿¡¼­´Â Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¿¡¼­ ´Ù·ê ³»¿ëÀº º¸¿ÏÇÕ´Ï´Ù.
107501Visual C++ 32 ºñÆ® __declspec ±âÁØ ´ëüµÈ Á¤º¸: __export
ÀÌ ¹®¼­¿¡¼­´Â ÀåÁ¡ ¹× _declspec(dllimport) ¹× _declspec(dllexport) ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÏ´Â ¸ÞÄ¿´ÏÁò¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

Ãß°¡ Á¤º¸

Visual C++ 32 ºñÆ® ¹öÀüÀÇ _declspec(dllimport) ¹× _declspec(dllexport) 16ºñÆ® ¹öÀüÀÇ Visual C++¿¡¼­ ÀÌÀü¿¡ »ç¿ëÇÑ __export Ű¿öµå¸¦ ¹Ù²Ù´Â ¿¹Á¦ÀÔ´Ï´Ù.

Äڵ尡 _declspec(dllimport) »ç¿ëÇÏ¿© ¿Ã¹Ù¸£°Ô ÄÄÆÄÀϵǵµ·Ï ÇÒ ÇÊ¿ä´Â ¾øÁö¸¸ ÀÌ·¸°Ô Çϸé ÄÄÆÄÀÏ·¯°¡ º¸´Ù ³ªÀº Äڵ带 »ý¼ºÇÒ ¼ö ÀÖ°Ô. ÄÄÆÄÀÏ·¯´Â ÄÄÆÄÀÏ·¯°¡ Á¤»óÀûÀÎ °£Á¢ ÂüÁ¶ ¼öÁØÀ» °Ç³Ê¶Û Äڵ带 »ý¼ºÇÒ ¼ö ÀÖµµ·Ï DLL °æ°è¸¦ ½ÊÀÚ ÇÔ¼ö È£Ãâ¿¡¼­ Á¸ÀçÇÒ ¼ö, ÇÔ¼ö ¶Ç´Â ¾ÊÀº DLL¿¡ ÀÖ´ÂÁö¿¡ ´ëÇØ È®½ÇÈ÷ ¾Ë°í Àֱ⠶§¹®¿¡ º¸´Ù ³ªÀº Äڵ带 »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀûÀýÇÑ .DEF ÆÄÀÏÀ» EXPORTS ¼½¼ÇÀ¸·Î _declspec(dllexport) ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. _declspec(dllexport) ½±°Ô .DEF ÆÄÀÏÀ» »ç¿ëÇÏÁö ¾Ê°í .EXE ¶Ç´Â .DLL ÇÔ¼ö¸¦ ³»º¸³¾ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇϱâ À§ÇØ Ãß°¡µÇ¾ú½À´Ï´Ù.

ÀÌ ±â»çÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼­´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ¸Å¿ì ³·Àº ¼öÁØÀÇ Ã¶ÀúÇÑ Åä·ÐÀ» Á¦°øÇÕ´Ï´Ù.

Win32 ½ÇÇà ÆÄÀÏ (ÀÌ½Ä °¡´É Çü½Ä °¡Á®¿À±â¸¦ ¼öÁ¤ÇÏ·Á¸é ´Ù·ç¾ú½À´Ï´Ù ÆäÀÌÁö ¼ö¸¦ ÃÖ¼ÒÈ­Çϱâ À§ÇØ ¼³°èµÇ¾ú½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ·Á¸é °¡Á®¿À±â ÁÖ¼Ò Å×À̺íÀ̶ó´Â ÇϳªÀÇ Àå¼Ò¿¡ ÀÖ´Â ¸ðµç ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¸ðµç °¡Á®¿À±â ÁÖ¼Ò¸¦ ´Ù½Ã ¹èÄ¡ÇÕ´Ï´Ù. ·Î´õ¸¦ ÀÌ·¯ÇÑ °¡Á®¿À±â¿¡ ¾×¼¼½ºÇÒ ¶§ Çϳª ¶Ç´Â µÎ ÆäÀÌÁö¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

_declspec(dllimport)¿¡ ´ëÇÑ ÇÔ¼ö È£Ãâ »ç¿ë

´ÙÀ½ ÄÚµå ¿¹Á¦¿¡¼­´Â func1 main() ÇÔ¼ö°¡ Æ÷ÇÔµÈ .EXE ÆÄÀÏÀ» º°µµÀÇ DLL¿¡ ÀÖ´Â ÇÔ¼ö¸¦ °¡Á¤ÇϽʽÿÀ.

ÀÌ ÄÚµå´Â _declspec(dllimport) ¾Ê°í ÁÖ¾îÁø:
void main(void) {
    func1();
}
				
ÄÄÆÄÀÏ·¯¿¡¼­ ´ÙÀ½°ú °°Àº Äڵ带 »ý¼ºÇÕ´Ï´Ù.
call func1
				
¹× ¸µÄ¿¿¡¼­ ´ÙÀ½°ú °°Àº È£Ãâ·Î º¯È¯ÇÕ´Ï´Ù:
call 0x4000000         ; The address of 'func1'.
				
'func1' ´Ù¸¥ DLLÀÇ °æ¿ì 'func1' ÁÖ¼Ò¸¦ ¹«¾ùÀÎÁö ¾Ë ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾øÀ¸¹Ç·Î ¸µÄ¿°¡ ÀÌ Á÷Á¢ È®ÀÎÇÒ ¼ö ¾ø½À´Ï´Ù. 16 ºñÆ® ȯ°æ¿¡¼­ ¸µÄ¿´Â ·Î´õ°¡ ·±Å¸ÀÓ¿¡ ¿Ã¹Ù¸¥ ÁÖ¼Ò »ç¿ëÇÏ¿© ÆÐÄ¡ÇÏ°Ô .EXEÀÇ ¸ñ·Ï¿¡ ÀÌ ÄÚµå ÁÖ¼Ò¸¦ Ãß°¡ÇÕ´Ï´Ù. 32 ºñÆ® ȯ°æ¿¡¼­ ¸µÄ¿´Â ´ëÇÑ ÁÖ¼Ò¸¦ ¾Ë°í ÀÖÁö ½éÅ©¸¦ »ý¼ºÇÕ´Ï´Ù. ½éÅ©¸¦ ´ÙÀ½°ú °°½À´Ï´Ù:
   0x40000000:    jmp DWORD PTR __imp_func1
				
¿©±â¿¡ __imp_func1 .EXE ÆÄÀÏ °¡Á®¿À±â ÁÖ¼Ò Å×À̺í func1ÀÇ ½½·Ô¿¡ ´ëÇÑ ÁÖ¼ÒÀÔ´Ï´Ù. ¸µÄ¿¿¡ µû¶ó¼­ ¸ðµç ÁÖ¼Ò´Â ¾Ë ¼ö ÀÖ½À´Ï´Ù. ·Î´õ´Â °æ¿ì¿¡¸¸ Á¦´ë·Î ÀÛµ¿ÇÏ·Á¸é ¸ðµç ·Îµå ½Ã .EXE ÆÄÀÏ °¡Á®¿À±â ÁÖ¼Ò Å×À̺íÀ» ¾÷µ¥ÀÌÆ®ÇØ¾ß ÇÕ´Ï´Ù.

µû¶ó¼­ À§ÇØ ±ÇÇÑÀÌ ¾ø´Â °æ¿ì ¸µÄ¿°¡ ½éÅ©¸¦ »ý¼ºÇÏ´Â °æ¿ì ´õ ³ªÀº Àֱ⠶§¹®¿¡ _declspec(dllimport) »ç¿ëÇÏ¿© ´õ ÁÁ½À´Ï´Ù. ½éÅ© ÄÚµå´Â Å©°Ô (RISC ½Ã½ºÅÛ¿¡¼­´Â ¿©·¯ ÁöħÀ» ¼öµµ ÀÖÀ½) ¹× ij½Ã ¼º´ÉÀ» ÀúÇϽÃų ¼ö ÀÖ½À´Ï´Ù. DLL¿¡ ÇÔ¼öÀÔ´Ï´Ù ÄÄÆÄÀÏ·¯¿¡ Áö½ÃÇÏ´Â °æ¿ì À̸¦ °£Á¢ È£ÃâÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ÄÚµå´Â ÀÌÁ¦:
__declspec(dllimport) void func1(void);

void main(void) {
    func1();
}
				
ÀÌ ¸í·ÉÀ» »ý¼ºÇÏ´Â:
call DWORD PTR __imp_func1
				
Äڵ带 ÀÛÀº ÁÙ¾îµé°í ¼Óµµµµ jmp ¸í·ÉÀÌ ¾ø½À´Ï´Ù.

¹Ý¸é, DLL ³»ºÎ¿¡ ÀÖ´Â ÇÔ¼ö È£ÃâÀÇ °æ¿ì °£Á¢ È£ÃâÀ» »ç¿ëÇÏÁö ¾ÊÀ». ÇÔ¼öÀÇ ÁÖ¼Ò¸¦ ÀÌ¹Ì ¾ËÀ¸½Ê½Ã¿À. ½Ã°£ ¹× °ø°£ ·ÎµåÇϰí Á÷Á¢ È£ÃâÀ» ºü¸£°í ÀÛÀº Ç×»ó µÇµµ·Ï °£Á¢ È£Ãâ Àü¿¡ ÇÔ¼öÀÇ ÁÖ¼Ò¸¦ ÀúÀåÇÒ ÇÊ¿äÇÕ´Ï´Ù. Çϱâ __declspec(dllimport) ¿ÜºÎ¿¡¼­ DLL ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ »ç¿ëÇÒ ÇÒ DLL ÀÚü¸¦. Çϱâ __declspec(dllimport) ÇØ´ç DLLÀ» ºôµåÇÒ ¶§ DLL ³»ºÎ¿¡ ÇÔ¼ö¿¡ »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À.

_declspec(dllexport) »ç¿ëÇÏ¿©

MicrosoftÀº ÄÄÆÄÀÏ·¯ ³»º¸³»±â À̸§À» ÀÚµ¿À¸·Î »ý¼ºÇÏ´Â .LIB ÆÄÀÏ¿¡ ¹èÄ¡ÇÒ ¼ö ÀÖµµ·Ï 16ºñÆ® ÄÄÆÄÀÏ·¯ ¹öÀü¿¡ __export°¡ µµÀԵǾú½À´Ï´Ù. ÀÌ .LIB ÆÄÀÏÀº DLL¿¡ ¸µÅ©ÇÒ Á¤Àû .LIB¿Í °°Àº ¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Microsoft´Â ÀÌ ÆíÀǸ¦ °è¼ÓÇÏ·Á¸é __declspec(dllexport)¸¦ Ãß°¡Çß½À´Ï´Ù. ±× ¸ñÀûÀº .DEF ÆÄÀÏ¿¡ Çʿ䰡 ¾ø½À´Ï´Ù °³Ã¼ ÆÄÀÏÀ» ³»º¸³»±â Áö½Ã¹®À» Ãß°¡ÇÏ´Â °ÍÀÔ´Ï´Ù.

C++ ÇÔ¼ö À̸§ÀÇ µ¥ÄÚ·¹ÀÌÆÃµÈ ÇÒ ¶§ °¡Àå ¸í¹éÇÑ Æí¸®ÇÕ´Ï´Ù. À̸§ µ¥ÄÚ·¹À̼ǿ¡ ´ëÇÑ ¾ø´Â Ç¥ÁØ »ç¾çÀÌ ¾øÀ¸¹Ç·Î ³»º¸³»±â ÇÔ¼öÀÇ À̸§Àº ÄÄÆÄÀÏ·¯ ¹öÀü °£¿¡ º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù. _declspec(dllexport) »ç¿ëÇÏ´Â °æ¿ì DLL ¹× Á¾¼Ó .EXE ÆÄÀÏÀ» ´Ù½Ã ÄÄÆÄÀÏÇÏÁö °æ¿ì¿¡¸¸ °èÁ¤¿¡ ´ëÇÑ ¸í¸í ±ÔÄ¢ º¯°æ ³»¿ëÀÌ ÇÊ¿äÇÕ´Ï´Ù.

¸¹Àº Áö½Ã¹®À» ³»º¸³¾ °°Àº ¼­¼ö, NONAME, ¶Ç´Â PRIVATE, .DEF ÆÄÀÏ¿¡ ´ëÇØ¼­¸¸ ¸¸µé ¼ö ÀÖÀ¸¸ç .DEF ÆÄÀÏ ¾øÀÌ ÀÌ·¯ÇÑ Æ¯¼ºÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¾ø½À´Ï´Ù. ±×·¯³ª .DEF ÆÄÀÏÀ» »ç¿ëÇÏ¿© ¿Ü¿¡µµ _declspec(dllexport) »ç¿ëÇÏ¿© ºôµå ¿À·ù°¡ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù.

Âü°í ÀÚ·á·Î ÅëÇØ Win32 WINBASE.H Çì´õ ÆÄÀÏÀ» °Ë»öÇϽʽÿÀ. ±âº» ¼³Á¤µÈ __declspec(dllexport) ¹× Çϱâ __declspec(dllimport) »ç¿ë ¿¹Á¦¸¦ Æ÷ÇÔÇÕ´Ï´Ù.

_declspec(dllexport) ¹× _declspec(dllimport) ÀÖ´Â µ¥ÀÌÅÍ »ç¿ë

°æ¿ì _declspec(dllimport) »ç¿ëÇÏ¿© °£Á¢ ÂüÁ¶ÀÇ °èÃþÀ» Á¦°ÅÇÕ´Ï´Ù ÆíÀǸ¦ Ç׸ñÀ» µ¥ÀÌÅÍÀÔ´Ï´Ù. DLL¿¡¼­ µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¶§ ¿©ÀüÈ÷ °¡Á®¿À±â ÁÖ¼Ò Å×À̺íÀ» ÅëÇØ À̵¿ ÇÕ´Ï´Ù. ÀÌ Ãß°¡ ¼öÁØÀÇ °£Á¢ ÂüÁ¶ DLL¿¡¼­ ³»º¸³½ µ¥ÀÌÅ͸¦ ¾×¼¼½ºÇÒ ¶§ ¼öÇàÇÒ ÀÛ¾÷À» ±â¾ïÇØ¾ß Çß½À´Ï´Ù _declspec(dllimport) Àü¿¡ Win32 ÀÏ ÀǹÌÇÏ´Â:
// project.h
#ifdef _DLL     // If accessing the data from inside the DLL
   ULONG ulDataInDll;

else            // If accessing the data from outside the DLL
   ULONG *ulDataInDll;
#endif
				
»ç¿ëÇϸé .DEF ÆÄÀÏ¿¡¼­ ´ÙÀ½ µ¥ÀÌÅ͸¦ ³»º¸³»´Â °ÍÀÔ´Ï´Ù:
// project.def
LIBRARY project
EXPORTS
    ulDataInDll   CONSTANT
				
¹× DLL ¿ÜºÎ¿¡¼­ ¾×¼¼½ºÇÒ:
if (*ulDataInDll == 0L) {
   // Do stuff here
}
				
Çϱâ __declspec(dllimport) µ¥ÀÌÅ͸¦ Ç¥½ÃÇÒ ¶§ ÄÄÆÄÀÏ·¯¿¡¼­ ÀÚµ¿À¸·Î °£Á¢ Äڵ带 »ý¼ºÇÏ´Â. À§ÀÇ ´Ü°è¿¡ ´ëÇÑ °ÆÁ¤ÇÒ Çʿ䰡 ´õ ÀÌ»ó. ¾Õ¿¡¼­ ¾ð±ÞÇßµíÀÌ _declspec(dllimport) ¼±¾ð µ¥ÀÌÅÍ¿¡¼­ ÇØ´ç DLLÀ» ºôµåÇÒ ¶§ »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À. DLL ³»ÀÇ ÇÔ¼ö´Â °¡Á®¿À±â ÁÖ¼Ò Å×ÀÌºí µ¥ÀÌÅÍ °³Ã¼¿¡ ¾×¼¼½ºÇÏ´Â µ¥ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. µû¶ó¼­ »ç¿ëÀÚ°¡ Ãß°¡ ¼öÁØÀÇ °£Á¢ ¾øÀ» °ÍÀÔ´Ï´Ù.

DLL¿¡¼­ µ¥ÀÌÅ͸¦ ÀÚµ¿À¸·Î ³»º¸³»·Á¸é ÀÌ ¼±¾ðÀ» »ç¿ëÇÕ´Ï´Ù:
__declspec(dllexport) ULONG ulDataInDLL;
				

.DEF ÆÄÀÏ »ç¿ë

Çϱâ __declspec(dllimport) .DEF ÆÄÀÏÀ» ÇÔ²² »ç¿ëÇϵµ·Ï ¼±ÅÃÇϸé À߸øµÈ ÄÚµù ¹®Á¦°¡ ¹ß»ýÇÒ °¡´É¼ºÀ» ÁÙÀÌ·Á¸é DATA CONSTANT ´ë½Å »ç¿ëÇÒ .DEF ÆÄÀÏÀ» º¯°æÇØ¾ß ÇÕ´Ï´Ù:
// project.def
LIBRARY project
EXPORTS
    ulDataInDll   DATA
				
ÀÖ´Â ´ÙÀ½ Â÷Æ® ÀÌÀ¯¸¦ º¸¿©ÁÝ´Ï´Ù:
Keyword     Emits in the import lib     Exports
CONSTANT    __imp_ulDataInDll           ulDataInDll
            __ulDataInDll

DATA        __imp_ulDataInDll           ulDataInDll
				
_declspec (dllimport) ¹× CONSTANT »ç¿ëÇÏ¿© __imp_ ¹öÀü ¹× ¸í½ÃÀû ¸µÅ©¸¦ Çã¿ëÇϵµ·Ï ¸¸µç .LIB DLL °¡Á®¿À±â ¶óÀ̺귯¸® µ¥ÄÚ·¹ÀÌÆÃµÇÁö ¾ÊÀº À̸§ ¸ñ·ÏÀ» Ç¥½ÃÇÕ´Ï´Ù. _declspec(dllimport) ¹× DATA »ç¿ëÇÏ¿© __imp_ ¹öÀüÀ» À̸§À» ³ª¿­ÇÕ´Ï´Ù.

CONSTANT¸¦ »ç¿ëÇÏ´Â °æ¿ì ´ÙÀ½ ÄÚµå ±¸¹® Áß Çϳª¸¦ ÇØ´ç ulDataInDll ¾×¼¼½ºÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.
__declspec(dllimport) ULONG ulDataInDll; /*prototype*/ 
   if (ulDataInDll == 0L)   /*sample code fragment*/ 
				
- ¶Ç´Â -
ULONG *ulDataInDll;      /*prototype*/ 
if (*ulDataInDll == 0L)  /*sample code fragment*/ 
				
±×·¯³ª .DEF ÆÄÀÏ¿¡¼­ DATA »ç¿ëÇÏ´Â °æ¿ì ´ÙÀ½ Á¤Àǰ¡ ÄÄÆÄÀÏµÈ Äڵ常 º¯¼ö ulDataInDll ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù:
__declspec(dllimport) ULONG ulDataInDll;
if (ulDataInDll == 0L)   /*sample code fragment*/ 
				
Ãß°¡ ¼öÁØÀÇ °£Á¢ ÂüÁ¶ »ç¿ëÇÒ °ÍÀ» ÀØÀº °æ¿ì ÀáÀçÀûÀ¸·Î °¡Á®¿À±â ÁÖ¼Ò Å×ÀÌºí Æ÷ÀÎÅ͸¦ º¯¼ö¿¡--º¯¼ö ÀÚü¿¡´Â ¾×¼¼½ºÇÒ ¼ö ¾ø±â ¶§¹®¿¡ »ç¿ë »ó¼ö ´õ À§ÇèÇÕ´Ï´Ù. °¡Á®¿À±â ÁÖ¼Ò Å×À̺íÀÇ ÇöÀç Microsoft ÄÄÆÄÀÏ·¯ ¹× ¸µÄ¿ Àб⠶§¹®¿¡ ÀÌ·¯ÇÑ À¯ÇüÀÇ ¹®Á¦°¡ ¾×¼¼½º À§¹Ý°ú °°ÀÌ ÀÚÁÖ ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ °æ¿ì °èÁ¤ CONSTANT .DEF ÆÄÀÏ¿¡ ÀÖ´Â º¼ °æ¿ì ÇöÀç Visual C++ ¸µÄ¿ °æ°í°¡ ¹ß»ýÇÕ´Ï´Ù. CONSTANT »ç¿ëÇÒ °æ¿ì¿¡¸¸ ½ÇÁ¦ Çì´õ ÆÄÀÏÀ» dllimport ÇÁ·ÎÅäŸÀÔ¿¡ ´ëÇÑ ¸ñ·Ï ¾ÊÀº ÀϺΠ°³Ã¼ ÆÄÀÏÀ» ´Ù½Ã ÄÄÆÄÀÏÇØ¾ß ¼ö ¾ø´Â °æ¿ì ¶§¹®ÀÔ´Ï´Ù.

ÂüÁ¶

´ÙÀ½ Visual C++ ¿Â¶óÀÎ ¼³¸í¼­ »ó´çÇÑ ¾çÀÇ dllexport, dllimport ÀúÀå¼Ò Ŭ·¡½º Ư¼ºÀ» Á¦°øÇÕ´Ï´Ù. ÇÁ·Î±×·¡¹Ö ±â¼ú ÂüÁ¶ "¸¸µé±â DLL¿¡ ´ëÇÑ Win32" Àå¿¡¼­ "The dllexport, dllimport Ư¼º" ¹× C++ ¾ð¾î ÂüÁ¶ "Microsoft °ü·Ã ÇÑÁ¤ÀÚ" ÀåÀÇ »ç¿ë dllimport ¹× C++ dllexport"Ç׸ñ ¹× ±âÈ£ ³»º¸³»±â Ç׸ñÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. öÀúÇÑ ¸ñ·ÏÀº °ü·ÃµÈ Ç׸ñÀ» ¿Â¶óÀÎ ¼³¸í¼­ÀÇ "dllimport" ¶Ç´Â "dllexport" °Ë»öÇÕ´Ï´Ù.

ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
90530DLL ¶Ç´Â ÀÀ¿ë ÇÁ·Î±×·¥ µ¥ÀÌÅÍ ³»º¸³»±â ¹æ¹ý
107501Visual C++ 32 ºñÆ® __declspec ±âÁØ ´ëüµÈ Á¤º¸: __export

¼Ó¼º

±â¼ú ÀÚ·á: 132044 - ¸¶Áö¸· °ËÅä: 2003³â 12¿ù 2ÀÏ È­¿äÀÏ - ¼öÁ¤: 2.0
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
Ű¿öµå:?
kbmt kbcode kbcompiler kbinfo KB132044 KbMtko
±â°è ¹ø¿ªµÈ ¹®¼­
Áß¿ä: º» ¹®¼­´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼­ ¹× ±â°è ¹ø¿ªµÈ ¹®¼­¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼­¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼­°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼­ ±â°è ¹ø¿ª ¹®¼­¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.
´õ ÀÌ»ó Áö¿øµÇÁö ¾Ê´Â Á¦Ç°ÀÇ KB ³»¿ë¿¡ ´ëÇÑ °íÁö »çÇ×
ÀÌ ¹®¼­¿¡¼­´Â Microsoft¿¡¼­ ´õ ÀÌ»ó Áö¿øÇÏÁö ¾Ê´Â Á¦Ç°¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. µû¶ó¼­ ÀÌ ¹®¼­´Â "ÀÖ´Â ±×´ë·Î" Á¦°øµÇ¸ç ¾÷µ¥ÀÌÆ®µÇÁö ¾Ê½À´Ï´Ù.

Çǵå¹é º¸³»±â