MC++ ù ½Ãµµ

±× µ¿¾È ¸Á¼³ÀÌ´Ù MC++À» »ç¿ëÇØ º¸¸®¶ó Å« ¸¾À» ¸Ô°í¼­ ±âÁ¸ÀÇ VC(MFC)·Î ÁøÇàÇÏ´ø ¼Ö·ç¼Ç¿¡ C# Ŭ·¡½º ¶óÀ̺귯¸® ÇÁ·ÎÁ§Æ®¸¦ Ãß°¡Çß´Ù.(VC ¶óÀ̺귯¸®¿¡ C# UI°¡ ÀϹÝÀûÀÎ ±×¸²À̰ÚÁö¸¸… -_-)

±×¸®°í ÇÁ·ÎÁ§Æ® ¼Ó¼º¿¡ /clr ¿É¼Ç Ãß°¡.

±×¸®°í C#À¸·Î Ŭ·¡½º ÀÛ¼º.

VC Äڵ忡¼­ ´ÙÀ½°ú °°ÀÌ C# °´Ã¼ instanciation.

Test* pTest = new Test();

±×¸®°ï ÄÄÆÄÀÏ… ÄÀ! ³·¼± ÄÄÆÄÀÏ ¿¡·¯ ¹ß»ý.

error C3828: 'TestLib::Test': placement
arguments not allowed while creating
instances of managed classes

±¸±Û °Ë»öÇØº» °á°ú… MFC µð¹ö±× ¸ðµå¿¡¼± new ¿¬»êÀÚ¸¦ #defineÇØ¼­ µýÁþÀ» Çϰí Àֱ⠶§¹®À̶ó°í… ÇØ°áÇÏ·Á¸é new¸¦ #undef ÇÏ´ø°¡ ¾Æ´Ï¸é ´ÙÀ½°ú °°ÀÌ…

	#pragma push_macro("new")
	#undef new
	Test* pTest = new Test();
	#pragma pop_macro("new")

¸ðµç °´Ã¼ instanciation¿¡¼­ ÀÌ·± ÁþÀ»? ²Ù¾×~! ÅäÇÒ °Í °°Àº ±âºÐ…

Çѹø ½ÇÇàÇϴµ¥ ¾öû³ª°Ô ¸¹Àº dllÀÌ ·ÎµåµÇ°í…

±×¸®°í µð¹ö±× ¸ðµå¿¡¼­ Æ®·¡À̽ºµµ ¾ÈµÇ°í…

±×³ª¸¶ System.Diagnostics.Debug.WriteLine()Àº ¸Ô´Â´Ù.

±¦È÷ ¹ß ´ã±º »ý°¢ÀÌ ¸Ó¸®¸¦ Áã¾î ¶âÀ¸¸é¼­… À̰ŠÇÏ´À¶ó ³¯¸° ¸î½Ã°£ÀÌ ¾Æ±î¿öÁø´Ù.

[update]

°á±¹ C#°ú C++·Î Á¦ÀÛµÈ flat dllÀÇ Á¶ÇÕÀ¸·Î º¯°æÇÏ°í ¸»¾Ò´Ù.

2004-07-15 10:21 AM
permalink

Ä¿¸ÇÆ®¿Í Æ®·¢¹é rss (0)

Æ®·¢¹é ÁÖ¼Ò: http://codian.net/wp/archives/92/trackback/

Ä¿¸ÇÆ® ÀÛ¼º