C++ À̸§ µ¥ÄÚ·¹À̼ǿ¡ ´ëÇÑ ¼³¸í

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

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

¿ä¾à

Microsoft C++ ÄÄÆÄÀÏ·¯´Â C++ À̸§¿¡´Â Çü½Ä Á¤º¸¸¦ ÇÁ·Î±×·¥ ±âÈ£ÀÇ À̸§À» ÀÎÄÚµùÇÕ´Ï´Ù. ÀÌ "À̸§ µ¥ÄÚ·¹À̼ÇÀº" ¶Ç´Â "À̸§ ¸Í±Û¸µ" À̶ó°í ÀÌ Çü½Ä ¾ÈÀü ¿¬°áÇÒ ¼ö ÀÖµµ·Ï ¸ñÀûÀÔ´Ï´Ù. C++ ¾ð¾îÀÇ ÇÔ¼ö ¿À¹ö·Îµù À§Ä¡¿¡ °°Àº À̸§ °¡Áø ÇÔ¼ö¸¦ °æ¿ì¿¡¸¸ ¼­·Î ÀμöÀÇ µ¥ÀÌÅÍ Çü½ÄÀ» ÇÔ¼ö¿¡ ±¸º°µÇ´Â ÀÖ½À´Ï´Ù. À̸§ µ¥ÄÚ·¹À̼ÇÀº ¸µÄ¿¸¦ ÀÎÄÚµù ¶Ç´Â ´Ù¸£°Ô µ¥ÄÚ·¹ÀÌÆÃµÈ ÇÔ¼ö À̸§¿¡ ¶§¹®¿¡ ¼­·Î ´Ù¸¥ ¹öÀüÀÇ ¿À¹ö·ÎµåµÈ ÇÔ¼ö ±¸º°ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ãß°¡ Á¤º¸

´Ù¸¥ ÄÄÆÄÀÏ·¯ °ø±Þ¾÷ü ÀÚ½ÅÀÇ ¹æ¹ý ¶Ç´Â ¾Ë°í¸®Áò¿¡ ´ëÇÑ À̸§À» Àå½Ä ÀÖ½À´Ï´Ù. Microsoft´Â ¾ÕÀ¸·Î º¯°æµÉ ¼ö ÀÖÀ¸¹Ç·Î ÇØ´ç ÄÄÆÄÀÏ·¯ À̸§ µ¥ÄÚ·¹À̼ÇÀº »ç¿ëÇÒ ¾Ë°í¸®ÁòÀ» °Ô½ÃÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯³ª ÇÔ¼ö À̸§ÀÇ µ¥ÄÚ·¹ÀÌÆÃµÈ ¹öÀüÀ» ¾ò±â À§ÇØ ÇÊ¿äÇÑ °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, C++ ÇÔ¼ö DLLÀ» ºôµåÇÏ´Â µ¥ »ç¿ëµÇ´Â .DEF ÆÄÀÏ¿¡ ÀÖ´Â EXPORTS ¼½¼Ç¿¡ ³ª¿­µÈ Windows DLL¿¡¼­ ³»º¸³»±â ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. (__declspec (dllexport) ÇÔ¼ö·Î Visual C++ 32ºñÆ® ¹öÀüÀ» »ç¿ëÇÏ¿© C++ ÇÔ¼ö¸¦ ³»º¸³¾ ¼ö ÀÖ´Â ±âº» ¹æ¹ýÀÔ´Ï´Ù ¼±¾ð ÀÖÁö¸¸ ´õ ¿©ÀüÈ÷ ÀÌ·¯ÇÑ Á¦Ç°°ú ÇÔ²² .DEF ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.) ÇÔ¼ö°¡ ¼º°øÀûÀ¸·Î ³»º¸³»¾ß ¼Ò½º Äڵ忡 ÀÖ´Â À̸§ÀÌ ÇØ´ç µ¥ÄÚ·¹ÀÌÆÃµÈ À̸§ ³ª¿­ ÇÕ´Ï´Ù.

¸ðµç À§¿¡ ³ª¿­µÈ Á¦Ç°ÀÇ Microsoft ºê¶ó¿ìÀú µµ±¸ ŰƮ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ µµ±¸ ŰƮ µ¥ÄÚ·¹ÀÌÆÃµÈ À̸§À» ÇØ¼®ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.

__declspec(dllexport)¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
132044_declspec(dllimport) ¹× _declspec(dllexport) Äڵ忡¼­ »ç¿ë
´ÙÀ½ »ùÇà Äڵ忡¼­´Â FormatDName ÇÔ¼ö¸¦ ºê¶ó¿ìÀú Toolkit ÀϺΰ¡ ºê¶ó¿ìÀú ¶óÀ̺귯¸®¸¦ »ç¿ëÇÕ´Ï´Ù. ºê¶ó¿ìÀú µµ±¸ ŰƮ¸¦ ´Ù¿î·ÎµåÇÏ·Á¸é ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ¹æ¹®ÇϽʽÿÀ.
http://www.microsoft.com/downloads/details.aspx?FamilyID=621ae185-1c2a-4d6b-8146-183d66fe709d&displaylang=en
ÀÌ ÇÔ¼ö´Â Àü´ÞµÈ À̸§ µ¥ÄÚ·¹ÀÌÆÃµÇÁö ¾ÊÀº Çü½ÄÀ¸·Î ¹ÝȯÇÕ´Ï´Ù.

¿¹Á¦ ÄÚµå

   /* Compile options needed: cl /AL getname.cpp bthunkl.obj /link bsc.lib
          (for 16-bit, where getname.cpp is the source file name)
                              cl getname.cpp /link bsc.lib
          (for 32-bit version 4.x and earlier, where getname.cpp is the source
           file name)
   */ 

   #include <iostream.h>
   #include <strstrea.h>

   extern "C"
   {
   #include "hungary.h"
   #include "bsc.h"
   #include "bscsup.h"
   }

   void main( int argc, char *argv[] )
   {
       if ( argc < 2 )
       {
           cout << "Usage: GETNAME decorated-name" << endl;
           return;
       }

       strstream name;

       // Call browser library function to get undecorated name
       name << FormatDname ( argv[1] ) << '\0';

       cout << "Undecorated name: " << name.str() << endl;
       name.rdbuf()->freeze( 0 );
   }
				
´ÙÀ½Àº »õ ºê¶ó¿ìÀú µµ±¸ ŰƮ 5.0 ¹× Visual C++ ¹öÀüÀ¸·Î 5.0 ÀÛµ¿ÇÕ´Ï´Ù.
   /* Compile options needed: cl /GX getname.cpp /link msbsc50.lib
          (where getname.cpp is the source file name)
   */ 

   #include <iostream>
   #include <strstream>
   #include <windows.h>
   #include "bsc.h"

   using namespace std;

   int main( int argc, char *argv[] )
   {
       Bsc* pbsc;

       if ( argc < 3 )
       {
           cout << "Usage: GETNAME bscfile-name decorated-name" << endl;
           return 1;
       }

       strstream name;

       // Open the browser file
       Bsc::open( argv[1], &pbsc );

       // Call browser library function to get undecorated name
       name << pbsc->formatDname( argv[2] ) << '\0';

       cout << "Undecorated name: " << name.str() << endl;
       name.rdbuf()->freeze( 0 );

       pbsc->close();
       return 0;
   }
				

¼Ó¼º

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

Çǵå¹é º¸³»±â