| ÀÌÀü ÁÖÁ¦ º¸±â :: ´ÙÀ½ ÁÖÁ¦ º¸±â |
| ±Û¾´ÀÌ |
¸Þ½ÃÁö |
·¹ÀÌ¿Ê ¼Õ´Ô
|
function static ½ºÅ¸ÀÏÀÇ Singleton ¹ö±×? |
¿Ã·ÁÁü: 2004-02-04 10:53
|
|
±ÍÂ÷´ÏÁò ¶§¹®¿¡ 3rd party singleton library ¸¦ »ç¿ëÇÏÁö ¾Ê°í, ±×³É ÇÁ·Î±×·¥¿¡¼ ÁÖÀDZí°Ô Àß
¾²¸®¶ó°í ¹Ï°í, Àß ¾Ë·ÁÁø function static ¹æ½ÄÀÇ ½Ì±ÛÅæÀ» ¾²°í ÀÖ½À´Ï´Ù. ^^
class A
{
static A * Instance()
{
static A s_Instance;
return &s_Instance;
}
private :
A() {}
};
¹ú½á ¸î ´Þ° ÀÌ·± ½ÄÀ¸·Î ¸ÖƼ¾²·¹µå¿¡¼µµ ¾Æ¹« ¹®Á¦ ¾øÀÌ Àß ¾²°í Àִµ¥, °©ÀÚ±â ÀÌ»óÇÑ Çö»óÀÌ
¹ß°ßµÇ¾ú½À´Ï´Ù. Debug Build ¿¡¼´Â ±¦Âú¾Ò´Âµ¥, Release Build ¿¡¼ ½Ì±ÛÅæ »ý¼ºÀÚ°¡ 2¹ø
È£ÃâÀÌ µÇ´Â °ÍÀÌ ¾Æ´Õ´Ï±î!!! (Release ¿¡¼ »ý¼ºÀÚ¿¡ ºê·¹ÀÌÅ©¸¦ °É°í ÃßÀûÇØº¸´Ï 2¹øÀ̳ª ¸ØÃß´õ±º¿ä)
´ç¿¬È÷ »ý¼ºÀÚ´Â private ¿©¼ ¿ÜºÎ¿¡¼´Â È£ÃâÀÌ µÇÁö ¾Ê¾Ò°í, ´ÜÁö Instance() ¿¡¼¸¸ È£ÃâÀÌ µÇ´õ±º¿ä.
±×·¡¼, ¹®Á¦¸¦ Á¶»çÇØº¸´Ï ¶óÀ̺귯¸®¿¡´Ù°¡ ½Ì±ÛÅæÀ» ±¸ÇöÇϰí À̸¦ ½ºÅÂÆ½ ¸µÅ©Çؼ ¾µ °æ¿ì ¶§¶§·Î
ÀÌ ¹®Á¦¸¦ Á¢Çß´Ù´Â µ¿·áµéÀÇ Áõ¾ðÀÌ ÀÖ¾ú½À´Ï´Ù. Release ¿¡¼ ·±Å¸ÀÓ ´ÙÁß¾²·¹µå DLL ¹æ½ÄÀ¸·Î ÇÁ·ÎÁ§Æ®¸¦
¼¼ÆÃÇØµÐ »óÅ·Î, ´Ü¼øÇÑ »ùÇà ÇÁ·ÎÁ§Æ®¿¡¼ Å×½ºÆ®ÇغÃÀ» ¶§¿¡´Â º° ¹®Á¦´Â ¾ø¾ú½À´Ï´Ù. - -;
°á±¹ ÀÌ ¹®Á¦´Â class static À¸·Î ±¸ÇöÀ» º¯°æÇؼ ÇØ°áÇß½À´Ï´Ù. °ú¿¬ ÀÌ·± Çö»óÀº ¹«¾ù¶§¹®Àϱî¿ä? |
|
| À§·Î |
|
 |
Reiot
°¡ÀÔ: 2003³â 10¿ù 16ÀÏ ¿Ã¸° ±Û: 133
|
|
¿Ã·ÁÁü: 2004-02-04 10:55
|
|
°³¹ßȯ°æÀº XP Pro, Visual Studio 2003, Win32ÀÔ´Ï´Ù. _________________ ·¹ÀÌ¿Ê(Reiot) at http://reiot.com |
|
| À§·Î |
|
 |
loozend
°¡ÀÔ: 2003³â 1¿ù 16ÀÏ ¿Ã¸° ±Û: 32
|
Àúµµ °°Àº Çö»óÀ» ´çÇØºÃ´Âµ¥¿ä... |
¿Ã·ÁÁü: 2004-02-04 11:07
|
|
Debug¸ðµå¿¡¼´Â inline function expansionÀÌ DisableµÇ¾îÀÖ¾î¼ ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Âµ¥
Release¸ðµå¿¡¼´Â inlineÀ¸·Î µÇ¾î¼ ¹®Á¦°¡ »ý±â´Â °Å´õ±º¿ä
cppÆÄÀÏ¿¡ ÄÚµùÇØÁÖ¼¼¿ä...@.@a |
|
| À§·Î |
|
 |
sparrowhawk ¼Õ´Ô
|
Àúµµ ´çÇß½À´Ï´Ù. |
¿Ã·ÁÁü: 2004-02-04 11:44
|
|
.Net 2003 ¾¹´Ï´Ù.
Àúµµ ´çÇß½À´Ï´Ù. ÀζóÀÌ´×ÀÌ µÇ´Â °Í °°´õ±º¿ä.
ÇÔ¼ö º»¹®À» cpp·Î »©´Ï Àß µË´Ï´Ù.
more effective c++ º¸¸é, Ç¥ÁØ¿¡¼´Â staticº¯¼ö´Â ÀζóÀÌ´×ÀÌ ¾ÈµÈ´Ù°í ³ª¿Í Àִµ¥.
ÀÌ»óÇÑ ÀÏÀÌ´õ±º¿ä. Á¶½ÉÇØ¼ ½á¾ß ÇÒ µí ÇÕ´Ï´Ù. |
|
| À§·Î |
|
 |
sparrowhawk ¼Õ´Ô
|
.. Ãß°¡·Î.. |
¿Ã·ÁÁü: 2004-02-04 11:47
|
|
Àü¿¡ ÅÛÇø´ Ŭ·¡½º¿¡¼ Àú·± ½ºÅ¸ÀÏ ¾²´Ù°¡ ´ë·« ³¶ÆÐº» °æÇèÀÌ ÀÖ¾î¼..
(ÅÛÇø´Àº cppÆÄÀÏ¿¡ ³ÖÀ» ¼ö°¡ ¾øÁö¿ä --;;..)
ÇÏ·çÄ¡ ÄÚµå ÀüºÎ ³¯·Á¸Ô°í, ±¸Á¶ º¯°æÇؼ ÀüºÎ ´Ù½Ã ÄÚµùÇß´ø ¾ÆÇ Ãß¾ïÀÌ ÀÖÁö¿ä T_T;; |
|
| À§·Î |
|
 |
Reiot
°¡ÀÔ: 2003³â 10¿ù 16ÀÏ ¿Ã¸° ±Û: 133
|
|
¿Ã·ÁÁü: 2004-02-04 14:23
|
|
Windows °³¹ßÀÚ¿¡ ÇÑÇØ __declspec(noinline) À» »ç¿ëÇØµµ µÉ µí Çϱº¿ä... _________________ ·¹ÀÌ¿Ê(Reiot) at http://reiot.com |
|
| À§·Î |
|
 |
Testors

°¡ÀÔ: 2003³â 7¿ù 26ÀÏ ¿Ã¸° ±Û: 557 ¼Ò¼Ó: (ÁÖ)nFlavor
Ÿ »çÀÌÆ® ID(?): 48179650
|
|
¿Ã·ÁÁü: 2004-12-06 12:33
|
|
²Ï ¹¬Àº ÁÖÁ¦Àδ٠´Ù¸¥ ±Û( http://www.gpgstudy...iewtopic.php?p=18250 ) ´öºÐ¿¡ ´ñ±Û ´Þ°Ô µÇ¾ú³×¿ä.. 500¿øÀº ¼ÒÁßÇÑ °ÍÀ̱⿡.. ^^;
| Àοë: |
| 9.3.6 A static local variable in a member function always refers to the same object, whether or not the member function is inline. |
À§¿Í°°ÀÌ static local variable À» °¡Áö´Â ÇÔ¼ö´Â º¯¼ö´Â ±×°Ô ÀζóÀÎÀÌµç ¾Æ´Ïµç Ç×»ó °°Àº °´Ã¼¸¦ ÂüÁ¶ÇÑ´Ù°í Ç¥ÁØ¿¡ ¸í½ÃµÇ¾î Àִµ¥¿ä.. (º¸Åë ±×·¡¼ ¾Æ¿¹ ÀζóÀÌ´×ÀÌ µÇÁö ¾ÊÁÒ)
Á¦°¡ Å×½ºÆ®Çغ¸´Ï .Net 2003 C++ ÄÄÆÄÀÏ·¯¿¡¼ ±×°ÍÀÌ ÁöÄÑÁö´Â°ÍÀ» È®ÀÎÇß½À´Ï´Ù.
(Ȥ½Ã static local variable º¯¼ö¸¦ »ç¿ëÇϴµ¥µµ ÀζóÀÌ´×ÀÌ µÇ´Â ¿¹Á¦°¡ ÀÖ´Ù¸é Á¦º¸ ºÎŹ µå¸³´Ï´Ù. ^^ )
¸ÖƼ¾²·¹µù ȯ°æÀ̾ú´Ù´Ï.. Á¦°¡ ´Ù¸¥ °¡´É¼ºÀ» ÇѰ¡Áö Á¦½ÃÇØ º¸ÁÒ. (½ÇÁ¦·Î °Þ¾ú´ø ÀÏÀÔ´Ï´Ù)
| ÄÚµå: |
void func()
{
static TEMP t;
} |
À§ÀÇ ÇÔ¼ö´Â ½ÇÁ¦·Î´Â ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ ¾Æ·¡¿Í °°ÀÌ ±¸ÇöµË´Ï´Ù.
| ÄÚµå: |
char __buffer[sizeof(TEMP)];
void __destroyer()
{
((TEMP*)__buffer)->~TEMP();
}
void func()
{
static bool __init_flag; // ÃʱâÈ µÇ¾ú´ÂÁö °Ë»ç
if( !__init_flag )
{
// # STEP 1
new (__buffer) TEMP(); // »ý¼ºÀÚ È£Ãâ
init_flag = true; // Ç÷¡±× ¼¼ÆÃ
atexit( __destroyer); // ÇÁ·Î±×·¥ Á¾·á½Ã ¼Ò¸êÀÚ È£ÃâµÇµµ·Ï ¿¹¾à
}
} |
½ÇÁ¦·Î´Â ¹öÆÛ°¡ func() ¾È¿¡ Á¸ÀçÇϴµîÀÇ ¿À¹¦ÇÑ Â÷ÀÌ´Â ÀÖÁö¸¸ ±×³É ³Ñ¾î°¡µµ·Ï ÇÏÁÒ. ^^;
Áß¿äÇѰÍÀº ³»ºÎÀûÀ¸·Î Ç÷¡±×¸¦ µÎ°í ±×°Í¿¡ µû¶ó¼ »ý¼ºÀÚ¸¦ È£ÃâÇÑ´Ù´Â °ÍÀä..
°æÇ踹À¸½Å ºÐµéÀº ¾Æ½Ã°ÚÁö¸¸, À§ÀÇ ÄÚµå´Â ¸ÖƼ¾²·¹µå ȯ°æ¿¡¼ ¿©·¯°³ÀÇ ¾²·¹µå°¡ µ¿½Ã¿¡ ÇØ´ç ÇÔ¼ö¸¦ È£Ãâ½Ã µ¿±âÈ ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù.
±×·¯´Ï±î ÀÌ·± ¼ÀÀÔ´Ï´Ù.
1. ¾²·¹µå 1ÀÌ func() ¸¦ È£ÃâÇß½À´Ï´Ù.
2. STEP 1 ±îÁö ÁøÇàµÇ°í ¾²·¹µå 2·Î context-switching µÇ¾ú½À´Ï´Ù.
3. ¾²·¹µå 2°¡ func() ¸¦ È£ÃâÇϰí, Á¤»óÀûÀ¸·Î TEMP ÀÇ »ý¼ºÀÚ¸¦ È£ÃâÇß½À´Ï´Ù.
4. ´Ù½Ã context-switching µÇ¾î¼ ¾²·¹µå 1ÀÌ ÁøÇàÀ» °è¼ÓÇÕ´Ï´Ù. Ç÷¡±× °Ë»ç´Â ÀÌ¹Ì ³¡³ »óÅÂÀÌ°í °á±¹ »ý¼ºÀÚ°¡ µÎ¹ø È£ÃâµÇ°Ô µË´Ï´Ù.
Àú°°Àº °æ¿ì´Â ÀÌ ¹®Á¦¸¦ ¾Æ·¡¿Í °°ÀÌ ÇØ°áÇß½À´Ï´Ù.
| ÄÚµå: |
void func()
{
EnterCriticalSection( &cs );
static TEMP t;
LeaveCriticalSection( &cs );
} |
(*: ¸ÖƼ ¾²·¹µå ȯ°æ¿¡¼ static local variable Àº ¸ðµÎ À§¿Í °°ÀÌ µ¿±âÈ °´Ã¼·Î º¸È£µÇ¾î¾ß ÇÕ´Ï´Ù. )
¸¸¾à ÄÄÆÄÀÏ·¯°¡ Á˰¡ ¾ø´Ù¸é..
inline À» ÇØÁ¦Çß´õ´Ï Áõ»óÀÌ »ç¶óÁø°ÍÀº jmp ÀνºÆ®·°¼Ç¿¡ ÀÇÇØ context-switching ŸÀ̹ÖÀÌ ¹Ì¹¦ÇÏ°Ô Æ²·ÁÁ®¼ ¹®Á¦°¡ ÀϾÁö ¾ÊÀº°Ô ¾Æ´Ò±î ½Í½À´Ï´Ù. _________________ ÇøÓ/¸ðµ¨·¯/¾Ö´Ï¸ÞÀÌÅÍ ±¸ÇØ¿° **Çö¿ª/º¸Ã濪 º´Æ¯°¡´É** / http://testors.net/ |
|
| À§·Î |
|
 |
ºñȸ¿ø ¼Õ´Ô
|
|
¿Ã·ÁÁü: 2004-12-06 12:50
|
|
| Àοë: |
À§¿Í°°ÀÌ static local variable À» °¡Áö´Â ÇÔ¼ö´Â º¯¼ö´Â ±×°Ô ÀζóÀÎÀÌµç ¾Æ´Ïµç Ç×»ó °°Àº °´Ã¼¸¦ ÂüÁ¶ÇÑ´Ù°í Ç¥ÁØ¿¡ ¸í½ÃµÇ¾î Àִµ¥¿ä.. (º¸Åë ±×·¡¼ ¾Æ¿¹ ÀζóÀÌ´×ÀÌ µÇÁö ¾ÊÁÒ)
Á¦°¡ Å×½ºÆ®Çغ¸´Ï .Net 2003 C++ ÄÄÆÄÀÏ·¯¿¡¼ ±×°ÍÀÌ ÁöÄÑÁö´Â°ÍÀ» È®ÀÎÇß½À´Ï´Ù.
(Ȥ½Ã static local variable º¯¼ö¸¦ »ç¿ëÇϴµ¥µµ ÀζóÀÌ´×ÀÌ µÇ´Â ¿¹Á¦°¡ ÀÖ´Ù¸é Á¦º¸ ºÎŹ µå¸³´Ï´Ù. ^^ ) |
Àú °°Àº °æ¿ì´Â static local variable º¯¼ö°¡ inlineÀÌ µÇ´Â°É ¸ñ°Ý Çß½À´Ï´Ù ^^; ( ¾î¼Àºí¸® ÄÚµå È®ÀÎ)
¾Æ·¡¿Í °°Àº ÄÚµå Àä..
| ÄÚµå: |
for( int i = 0; i < 10; ++i)
{
Singletone::GetInstance()->Func();
}
|
À§¿Í °°Àº °æ¿ì ÄÄÆÄÀÏ·¯°¡ inlineÀ¸·Î for loop ¾ÈÀÇ GetInstance() functionÀ» Ç®¾î ¹ö¸®´õ±º¿ä.Ç®¾î¹ö·Áµµ Á¦´ë·Î Ç®¸®¸é ¹®Á¦°¡ ¾øÀ»ÅÙµ¥, ÀÌ°Ô °¡²û Á¦´ë·Î ¾ÈÇ®¸®´Â ³ðÀÌ ÀÖ½À´Ï´Ù. ¾î¼Àºí¸® Äڵ带 È®ÀÎÇØ º» °á°ú, static objectÀÇ init flag¸¦ ÀúÀåÇÏ´Â ¸Þ¸ð¸® ÁÖ¼ÒÀÇ °ªÀÌ Ç®¸°³ðÀ̶û ¾È Ç®¸°³ðÀÌ Æ²·ÁÁ®¼, °á±¹ ´Ù½Ã Çѹø »ý¼ºÀÚ¸¦ È£ÃâÇÏ°Ô µÇ´Â °ÍÀÌÁö¿ä. ( ¸Þ¸ð¸® ÁÖ¼Ò°¡ Ç×»ó Æ²¸®¸é Â÷¶ó¸® ±¦ÂúÀºµ¥, ¹®Á¦´Â Ç×»ó Æ²¸®Áö ¾Ê°í, °°Àº °æ¿ìµµ ²Ï ¸¹¾Æ¼ Á¦´ë·Î µ¹¾Æ°¡´Â °æ¿ì°¡ ´õ ¸¹´õ±º¿ä)
»ç¿ë ȯ°æÀº static library·Î ºôµåÇØ¼ ´Ù¸¥ ÇÁ·Î±×·¥ÀÌ ¸µÅ©½ÃÄÑ »ç¿ëÇß´ø °æ¿ìÀ̱¸¿ä..(µÎ°³ÀÇ ÇÁ·Î±×·¥Àε¥ ÀüºÎ MFC ȯ°æ¿¡, Çϳª´Â Àß µ¹¾Æ°¡°í, Çϳª´Â Àß µ¹¾Æ°¡Áö ¾Ê´õ±º¿ä -_-)
À§ÀÇ Äڵ带 ¾Æ·¡¿Í °°ÀÌ ¹Ù²å´õ´Ï inlineÀ¸·Î Ç®Áö ¾Ê°í Àß µ¹¾Æ°¡´õ±º¿ä..
| ÄÚµå: |
Instance* inst = Singltone::GetInstance();
for( int i = 0; i < 10; ++i)
{
inst ->Func();
}
|
|
|
| À§·Î |
|
 |
Testors

°¡ÀÔ: 2003³â 7¿ù 26ÀÏ ¿Ã¸° ±Û: 557 ¼Ò¼Ó: (ÁÖ)nFlavor
Ÿ »çÀÌÆ® ID(?): 48179650
|
|
¿Ã·ÁÁü: 2004-12-06 12:57
|
|
| Àοë: |
| ÄÚµå: |
for( int i = 0; i < 10; ++i)
{
Singletone::GetInstance()->Func();
}
|
À§¿Í °°Àº °æ¿ì ÄÄÆÄÀÏ·¯°¡ inlineÀ¸·Î for loop ¾ÈÀÇ GetInstance() functionÀ» Ç®¾î ¹ö¸®´õ±º¿ä.Ç®¾î¹ö·Áµµ Á¦´ë·Î Ç®¸®¸é ¹®Á¦°¡ ¾øÀ»ÅÙµ¥, ÀÌ°Ô °¡²û Á¦´ë·Î ¾ÈÇ®¸®´Â ³ðÀÌ ÀÖ½À´Ï´Ù. |
Èï¹Ì·Ó±º¿ä..
Å×½ºÆ® ÇØ º¸¾Ò´Âµ¥ Á¦ÂÊ¿¡¼´Â for loop ¾È¿¡ ³Ö´Â´Ù°í ÇØ¼ ÀζóÀÎ µÇ´Â °æ¿ì´Â ¾ø´Â°Í °°³×¿ä.
¹º°¡ ´Ù¸¥ Á¶°ÇÀÌ ÇÊ¿äÇÒ°Í °°Àºµ¥..
(È®½ÇÇÑ Á¶°ÇÀ» ¾Ë°í ÀÖ´Â°Ô ¾Æ´Ï¶ó¸é loop ¹ÛÀ¸·Î »©´Â Á¶Ä¡´Â ¿©ÀüÈ÷ ÀáÀçÀûÀÎ ¹®Á¦°¡ ³²¾ÆÀÖ´Ù°í º¼ ¼ö ÀÖ°ÚÁÒ.. ; )
Ç¥ÁØÀ» ¹«½ÃÇϰí ÀζóÀÌ´× µÇ´Â ¿¹Á¦Äڵ尡 ¿Ã¶ó¿À¸é °¡Àå È®½ÇÇÒ°Í °°³×¿ä. ^^ _________________ ÇøÓ/¸ðµ¨·¯/¾Ö´Ï¸ÞÀÌÅÍ ±¸ÇØ¿° **Çö¿ª/º¸Ã濪 º´Æ¯°¡´É** / http://testors.net/ |
|
| À§·Î |
|
 |
ºñȸ¿ø ¼Õ´Ô
|
|
¿Ã·ÁÁü: 2004-12-06 13:11
|
|
¿ª½Ã³ª ½±°Ô ÀçÇöÀÌ ¾ÈµÇ³×¿ä -.- Á»´õ Á¤È®ÇÑ Äڵ带 ¿Ã·Á µå¸®¸é ^^;;
| ÄÚµå: |
DWORD dwCount = Singletone::GetInstance()->GetCount();
for(DWORD i = 0; i < dwCount; ++i)
{
Element* pElmt = Singletone::GetInstance()->GetElmt( i );
}
|
| ÄÚµå: |
Singletone ±¸ÇöÀº ¾Æ·¡¿Í °°ÀÌ Çß½À´Ï´Ù....
template
class StaticCreate
{
public:
static T* GetInstance()
{
static T Obj;
return &Obj;
}
static void CreateInstace()
{
assert(false && "Invalid Calling for Static Singletone");
}
static void ReleaseInstace()
{
assert(false && "Invalid Calling for Static Singletone");
}
};
template >
class SingleTone
{
public:
static T* GetInstance()
{
return CreateMethod::GetInstance();
}
static void CreateInstace()
{
return CreateMethod::CreateInstace();
}
static void ReleaseInstace()
{
return CreateMethod::ReleaseInstace();
}
protected:
SingleTone()
{
}
~SingleTone()
{
}
}; |
|
|
| À§·Î |
|
 |
sphawk
°¡ÀÔ: 2004³â 5¿ù 28ÀÏ ¿Ã¸° ±Û: 149 ¼Ò¼Ó: N¸ð»ç
|
|
¿Ã·ÁÁü: 2004-12-06 13:59
|
|
À½.. Á¦°¡ °Þ¾ú´ø À̾߱⸦ ´Ù½Ã ÇÏÀÚ¸é..
¸ÖƼ½º·¹µå ¹®Á¦´Â ¾Æ´ÔÀÌ È®½ÇÇÕ´Ï´Ù. ¸ÖƼ½º·¹µå·Î ºôµåÇϱä Çߴµ¥
ÆÐŶ 󸮰¡ ÇÑ ½º·¹µå¿¡¼¸¸ ÀÌ·ç¾îÁ®¼, ó¸® ÂÊÀº ½Ì±Û½º·¹µå³ª
´Ù¸§ ¾ø¾ú½À´Ï´Ù.
¹®Á¦ »ý±ä °Ô.. ij¸¯ÅÍ Á¤º¸ Å×À̺íÀε¥. ÆÐŶÀ» ¹Þ¾ÒÀ» ¶§ ÀÌ°É Âü°íÇÏ´Â
ÆÐŶÀÌ Á» ÀÖ½À´Ï´Ù. ´Ù¸¥ ÆÐŶÀº ¸ÖÂÄÈ÷ Àß Ã³¸®µÇ´Âµ¥,
ƯÁ¤ ÆÐŶ¸¸ ¹ÞÀ¸¸é ij¸¯ÅÍ Á¤º¸ Å×ÀÌºí ³»¿ëÀÌ ¸ùâ ³¯¾Æ°¡´õ±º¿ä.
³ªÁß¿¡ È®ÀÎÇØº¸´Ï, ±× ·çƾ¿¡¼¸¸ »ý¼ºÀÚ°¡ µÎ¹ø È£ÃâÀÌ µÇ´õ±º¿ä.
Ȥ½Ã ¹öÆÛ ¿À¹öÇÃ·Î¿ì °°Àº °Ô »ý°Ü¼, flag¸¦ 0À¸·Î ¼¼ÆÃÇϳªµµ ã¾ÆºÃÁö¸¸
(Àü¿¡ ±×·± °Å Çѹø °É¸° Àû ÀÖ½À´Ï´Ù. ´©°¡ ¹è¿ À妽º¸¦ °íÃÄ ³õ°í, enumÀ¸·Î Á¤ÀÇÇÑ MAX°ªÀ» ¾È´Ã·Á³õ¾Æ¼.. --; ¾îÀ̾ø´õ±º¿ä. ÇÏÇÊ ±×°Ô flag¸¦ °Çµå·Á¼ ½ß°í»ý°³°í»ýÀ» ÇÏ°Ô ¸¸µé´Ù´Ï..)
±×·± °Íµµ ¾Æ´Ï´õ±º¿ä..
¿ª½Ã ·¹À̿ʴ԰ú °°ÀÌ, ij¸¯ÅÍ Á¤º¸ Å×À̺íÀº
½ºÅÂÆ½ ¸ÖƼ½º·¹µðµå ¶óÀ̺귯¸®¿¡ ÀÖ¾ú½À´Ï´Ù.
ÇØ°áÃ¥Àº ¿ª½Ã GetInstance() º»¹®À» cpp·Î »©´Â °É·Î ÇØ°á ºÃ½À´Ï´Ù.
µð½º¾î¼ÀÇØº¸´Ï È®½ÇÈ÷ GetInstance()°¡ ÀζóÀÌ´×ÀÌ µÇ¾î ÀÖ´õ±º¿ä
ij¸¯ÅÍ Á¤º¸ Å×À̺íÀ» ³¯·Á¸ÔÀº°Å º¸´Ï, µ¥ÀÌÅÍ´Â °°Àº µ¥ÀÌÅ͸¦
ÂüÁ¶ÇÑ °Å °°°í.. flag´Â °°Àº Ç÷¡±×ÀÎÁö´Â ¸íÈ®ÇÏÁö°¡ ¾Ê³×¿ä.
¹¹ ÀÌÁ¦´Â Áö³ À̾߱â¶ó °¡¹°°¡¹° Çϱº¿ä. ¾ðÁ¨°¡ ¶Ç °ÞÀ» °Å °°Àºµ¥
±×¶© ½Ã°£ ³»¼ Á» Àß º¸µµ·Ï ÇÏÁö¿ä. »ùÇà Äڵ嵵 ¿Ã·Áº¸°í.
(¾Æ.. Âü°í·Î Àü Àú±â ºñȸ¿øÀ̶ó°í ±Û ¿Ã¸°»ç¶÷ ¾Æ´Õ´Ï´Ù.
Àú À§¿¡ sparrowhawk¶ó°í ¿Ã·È´ø »ç¶÷ÀÔ´Ï´Ù.) _________________ sparrowhawk, from earthsea. |
|
| À§·Î |
|
 |
ºñȸ¿ø ¼Õ´Ô
|
º°·Î ½Ì±ÛÅÏÀ̶û °ü·ÃÀº ¾øÁö¸¸ ÃÖÀûÈ °ü·ÃÇØ¼ VC++6.0¿¡¼ ´ç |
¿Ã·ÁÁü: 2004-12-06 13:59
|
|
±ÍÂ÷´ÏÁòÀ¸·Î ÀÎÇØ ´ÙÀ½°ú °°Àº Äڵ带 §ÀûÀÌ ÀÖ½À´Ï´Ù.
ULONG ulChecker = ((ubChecker += (UBYTE)A) << 24)
| ((ubChecker += (UBYTE)B) << 16)
| ((ubChecker += (UBYTE)C) << 8 )
| ((ubChecker += (UBYTE)D) << 0 );
°£´ÜÇÑ ÆÄÀÏ ¾ÏÈ£È °ü·ÃÀ̾ú½À´Ï´Ù.
µð¹ö±×³ª ÃÖÀûȸ¦ ²ö °æ¿ì ¹®Á¦°¡ ¾ø´Âµ¥ ¸±¸®Áî ÃÖÀûȸ¦ ۸é A,B,C,D°¡ A,A,A,AÀÎ°Í Ã³·³ µ¿ÀÛÇÏ´õ±º¿ä.
Àâ´À¶ó°í °í»ýÇß½À´Ï´Ù.;;;
Áö±ÝÀº ´Ù¸¥ ¹æ¹ýÀ¸·Î ¾²°í ÀÖÁö¸¸ ±×¶§ °í»ýÇѰŠ»ý°¢Çϸé...;
VC++ÀÇ ÃÖÀûÈ ±â´ÉÀº ²Ï³ª ÁÁÁö¸¸ ¹®Á¦°¡ ¾øÁö´Â ¾ÊÀº µí ÇÕ´Ï´Ù.
±×·³. |
|
| À§·Î |
|
 |
|