C++Builder  |  Delphi  |  Kylix  |  Turbo-C  |  .NET  |  JBuilder  |  Together  |  FireBird
C++Builder Programming Forum º¼·£µåÆ÷·³ BorlandForum
 °æ°í! °Ô½Ã¹° ÀÛ¼ºÀÚÀÇ »çÀü Çã¶ô¾ø´Â ¸ÞÀÏÁÖ¼Ò ÃßÃâÇàÀ§ Àý´ë ±ÝÁö
C++ºô´õ Æ÷·³
Q & A
FAQ
ÆÁ&Æ®¸¯
°­ÁÂ/¹®¼­
ÀÚ·á½Ç
ÄÄÆ÷³ÍÆ®/¶óÀ̺귯¸®
¸Þ½ÅÀú ÇÁ·ÎÁ§Æ®
º¼·£µåÆ÷·³ Ȩ
Çìµå¶óÀÎ ´º½º
IT ´º½º
°øÁö»çÇ×
ÀÚÀ¯°Ô½ÃÆÇ
ÇØÇÇ ºê·¹ÀÌÅ©
°øµ¿ ÇÁ·ÎÁ§Æ®
±¸ÀÎ/±¸Á÷
ȸ¿ø ÀåÅÍ
°ÇÀÇ»çÇ×
¿î¿µÁø °Ô½ÃÆÇ
ȸ¿ø ¸Þ´º
ºÏ¸¶Å©
º¼·£µåÆ÷·³ ±¤°í ¸ðÁý

C++ºô´õ °­ÁÂ/¹®¼­
C++Builder Programming Tutorial&Docments
[202] LuaTinker C++ºô´õ¿¡¼­ »ç¿ëÇϱâ
³²º´Ã¶.·¹Á¶ [lezo] 1849 ÀÐÀ½    2009-09-21 16:12
¾î´ÀºÐÀÌ ÇÊ¿äÇϽôٰí ÇÏ¿©¼­ À̰÷¿¡ °£´ÜÈ÷ ±ÛÀ» ¿Ã¸®°Ú½À´Ï´Ù.
^^; Àúµµ ¸ÞŸÇÁ·Î±×·¡¹Ö °°Àº°É ÁÁ¾ÆÇÏÁöµµ Àß ÇÏÁöµµ ¾ÊÁö¸¸ ±×³É Á¶±Ý ¼öÁ¤Çؼ­ Àû´çÈ÷? ºÙ¿© ¾²°í ÀÖ¾ú½À´Ï´Ù.
C++ºô´õ¿¡ Àß ºÙÁö ¾Ê´Â °¡Àå Å« ÀÌÀ¯´Â... °á±¹ illegal ÇÑ ¹®¹ý »ç¿ë ¶§¹®ÀÔ´Ï´Ù.
(Âü°í·Î.. Å×½ºÆ®ÇÑ ¹öÀüÀº C++ºô´õ 2009ÀÔ´Ï´Ù.)

¹¹ ÇØ¼®ÀÇ Â÷À̰ÚÁö¸¸... ¾î¶µç ±ñ±ñÇÑ ºô´õ°¡ Àú ó·³ Ç¥ÁØ¿¡ ¹«°ü½ÉÇÑ;; »ç¶÷À» ¹àÇôÁÖ´Ï ÁÁ±ä ÇÕ´Ï´Ù¸¸...
°¡²û ¹Ù·Î°¥ ±æÀ» µ¹¾Æ°¡°í ½ÍÀº °æ¿ì°¡ ÀÖµí... Á» °©°©Çϱ⵵ ÇÕ´Ï´Ù.
½Ã°£ µÇ½Ã´Â ºÐÀº Á» µ¹¾Æ°¡´Â ±æ(¼öÁ¤;;)À» ¾Ë·ÁÁּŵµ ÁÁ°í... Èì.. ¾Ïư;;

LuaTinker0.5b¸¦ ¹ÞÀ¸¼Å¼­ Çì´õÆÄÀÏ Á¶±Ý°ú ÄÄÆÄÀÏ ¿É¼ÇÀ» Á¶±Ý ¼öÁ¤ ÇÏ½Ã¸é µË´Ï´Ù.
´ëºÎºÐ ¸í½ÃÀûÀÌÁö ¾Ê°Å³ª ¿¹¿Ü»óȲ°ú °ü·ÃµÈ °ÍÀÔ´Ï´Ù. --;;

ù¹øÂ° ¼öÁ¤ (lua_tinker.h)
//------------------------------------------------------------------------------
	// read a value from lua stack 
	template< typename T >  
	T read(lua_State *L, int index)				{ return lua2type< T >(L, index); }

	template<>	char*				read< char* >(lua_State *L, int index);
	template<>	const char*			read< const char* >(lua_State *L, int index);
	template<>	char				read< char >(lua_State *L, int index);
	template<>	unsigned char		read< unsigned char >(lua_State *L, int index);
	template<>	short				read< short >(lua_State *L, int index);
	template<>	unsigned short		read< unsigned short >(lua_State *L, int index);
	template<>	long				read< long >(lua_State *L, int index);
	template<>	unsigned long		read< unsigned long >(lua_State *L, int index);
	template<>	int					read< int >(lua_State *L, int index);
	template<>	unsigned int		read< unsigned int >(lua_State *L, int index);
	template<>	float				read< float >(lua_State *L, int index);
	template<>	double				read< double >(lua_State *L, int index);
	template<>	bool				read< bool >(lua_State *L, int index);
	template<>	void				read< void >(lua_State *L, int index);
	template<>	__int64				read< __int64 >(lua_State *L, int index);
	template<>	unsigned __int64	read< unsigned __int64 >(lua_State *L, int index);
	template<>	table1				read< table1 >(lua_State *L, int index);
//------------------------------------------------------------------------------


ÅÛÇø´ read ÇÔ¼ö°¡ Á¤ÀǵǾî Àִµ¥ Ưȭ(specilize) ¹öÀüÀ» ¸í½ÃÀûÀ¸·Î ±¸ºÐÇØ ÁÖ¾î¾ßÇÕ´Ï´Ù.
±âÁ¸ ÄÚµå´Â ÇÔ¼ö¸í ¿·¿¡ read< char* > ó·³ ¸í½ÃÇÏÁö ¾Ê°í ±×³É read¸¸ ÀûÇôÀֳ׿ä.
¾Ïư.. ±ñ±ñÇÑ ºô´õ´Â ÀÌ°É ÁöÀûÇÏ°í ¿·¿¡¼­ »ßÁ®¼­ Èï! Èï! °Å¸®°í Àֳ׿ä. --;


µÎ¹øÂ° ¼öÁ¤(lua_tinker.h)
//------------------------------------------------------------------------------
	// functor
	template< typename T1=void, typename T2=void, typename T3=void, typename T4=void, typename T5=void >
	struct functor
	{
		template< typename RVal >
		static int invoke(lua_State *L) { push(L,upvalue_< RVal(*)(T1,T2,T3,T4,T5) >(L)(read< T1 >(L,1),read< T2 >(L,2),read< T3 >(L,3),read< T4 >(L,4),read< T5 >(L,5))); return 1; }

//		template<>
//		static int invoke< void >(lua_State *L) { upvalue_< void(*)(T1,T2,T3,T4,T5) >(L)(read< T1 >(L,1),read< T2 >(L,2),read< T3 >(L,3),read< T4 >(L,4),read< T5 >(L,5)); return 0; }
	};
//------------------------------------------------------------------------------


¿ª½Ã ½ºÆä¼È¶óÀÌÁî ºÎºÐÀÔ´Ï´Ù.
±×·±µ¥ ¿©±â¼­´Â ±×³É »ßÁö´Â ¼öÁØÀÌ ¾Æ´Ï¶ó ¼±À» ±ß°í´Â ¿òÁ÷ÀÌÁú ¾Ê³×¿ä.. -_-;
Äڵ带 º¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸... ÁÖ¼®À¸·Î ¸·¾Ò½À´Ï´Ù. -_ -;;
ÁÖ¼®À» ÇÏ´Â ¼ø°£ ·ç¾ÆÆÃÄ¿ÀÇ ¾î¶²? ±â´ÉÀÌ ¸·È÷´Â °ÍÀε¥... ÇѸ¶µð·Î void ¸®ÅÏ C/C++ ÇÔ¼ö/¸â¹ö¸¦ ·ç¾Æ¿Í ¿¬°á ÇÒ ¼ö ¾ø½À´Ï´Ù. ¤Ð.¤Ð...
(Á¦³×¸¯ ÄÚµå ³»¿¡¼­ÀÇ ½ºÆä¼È¶óÀÌÁî´Â ºÒ¹ý! À̶ó¸é¼­... ¤Ð.¤Ð... ÀÌ·¡¼­ Á¤µµ´Â ¾î·Á¿î±æ... Á¤µµ°¡ ¸Â´Â°ÇÁö --;;)

ÀÌ·± ¿À·ù·Î ÁÖ¿í ºñ½ÁÇÑ ±¸¹®ÀÌ ÀÖÀ¸´Ï ¸ðµÎ ¼öÁ¤Çϸé 10°³ Âë µÉ°ÍÀÔ´Ï´Ù.

¼¼¹øÂ° ¼öÁ¤(C++ ÄÄÆÄÀÏ ¿É¼Ç ¼öÁ¤)
Project -> Option -> C++ Compiler -> Compatibility -> Explicit template specialization as member function = TRUE
ÀÌ ¿É¼ÇÀ» ÄÑÁÖ¸é µË´Ï´Ù.
¿ª½Ã³ª ¸â¹ö ÇÔ¼ö·ÎÀÇ ½ºÆä¼È¶óÀÌÁ ¸·Àº °ÍÀε¥... ÀÌ°Ç ¿É¼ÇÀ¸·Î Á¦°øÇϳ׿ä.
ÀÌ ¿É¼ÇÀ» º¸´Ï Á¶¸¸°£ À§¿¡¼­ ¼öÁ¤µÇ°í ÁÖ¼®À¸·Î ¸·Àº(¤Ð.¤Ð) ºÎºÐµµ ¿É¼Ç¿¡ Ãß°¡µÉ µí ÇÕ´Ï´Ù.

·ç¾ÆÆÃÄ¿ Sample3, 5¹øÀ» º¸¸é void ¸®ÅÏ ÇÔ¼ö´Â Àû´çÈ÷ int¸®ÅÏÀ¸·Î ¹Ù²Ù°í return 0; °°Àº ´õ¹Ì? Äڵ带 ³ÖÀ¸¸é
Àß µ¿ÀÛÇÕ´Ï´Ù.
·ç¾Æ´Â Àß ÄÄÆÄÀÏ µÇ´Ï ¹®Á¦ ¾øÀ»µí Çϰí... ·ç¾ÆÆÃÄ¿´Â Ȥ½Ã ¸ô¶ó¼­ ÷ºÎÇÕ´Ï´Ù.
¿¹Á¦¸¦ Æ÷ÇÔÇÏ´Â main.cpp¿Í ¿¬°üµÈ sample1~5.lua ÆÄÀϵµ ÀÖ½À´Ï´Ù.

¸ÞŸ ÇÁ·Î±×·¡¹Ö¿¡ °ü½ÉÀ» °¡Áö°í ½ÍÀº ºÐÀ̶ó¸é... ÀÌ·± ¼øÀ¸·Î º¸¼¼¿ä. (½Ã°£ Àß? Áö³ª°©´Ï´Ù. --;;)
1. C++ ÅÛÇø´ ¸ÞŸ ÇÁ·Î±×·¡¹Ö
2. Modern C++ Design

Èì;; ´Ù¸¥ Ã¥µµ Àֳ׿ä. ^^; (¼­Á¡¿¡ ³î·¯ °¡ºÁ¾ß°Ú½À´Ï´Ù. ~_~;;) <-- ÀÌ Ã¥ÀÌ º¸´Âµ¥ ´õ ÁÁ³×¿ä. ^^;
http://kangcom.com/sub/view.asp?sku=200812020004

·ç¾ÆÆÃÄ¿
http://gpgstudy.com/gpgiki/LuaTinker

GPGStudy ·ç¾Æ °ü·Ã
http://gpgstudy.com/gpgiki/TitleSearch?auto_redirect=1&s=Lua



¸ÁÄ¡ ´ÔÀÌ ¾²½Å ±Û :
: Àú¹ø¿¡ ÀÚÀ¯°Ô½ÃÆÇ¿¡ ½ºÅ©¸³Æ®´Â ÁÖ·Î ¹«¾ùÀ» ¾²½Ã³ª¿ä¶ó´Â ´©±º°¡ÀÇ Áú¹®¿¡ ´ëÇÑ ´ë´äÀ» º¸¸é¼­
: lua¸¦ óÀ½ ¾Ë°ÔµÇ¾ú½À´Ï´Ù.
: ±×·¡¼­ ÀÌÆ²Àü¿¡ µåµð¾î lua.org¿¡ µé¾î°¡¼­ 5.14¹öÁ¯ ¼Ò½º ´Ù¿î¹Þ¾Æ¼­, ºô´õ 2007¿¡ ÄÄÆÄÀÏÇØ¼­ libÆÄÀÏ ¸¸µé°í,
: °Ë»ö ÂÞ¿í ÇØº¸´Ï C³ª C++¿¡¼­ lua¸¦ È£ÃâÇÏ´Â ¿¹Á¦°¡ ÀÖ´õ±º¿ä. ±×´ë·Î µû¶óÇÏ´Ï ¿¡·¯°¡ ³ª¼­ Á¶±Ý ¼öÁ¤ÇÏ´Ï,
: luaÆÄÀÏ Àо ÇÔ¼ö¸¦ ½ÇÇàÇϰí, lua¿¡ ÀÖ´Â º¯¼ö°ªÀ» Àоî¿À´õ±º¿ä.
:
: ½ºÅ©¸³Æ® óÀ½ ½áº» Àú¿¡°Ô´Â ÇÁ·Î±×·¥ Á¦ ¿µ¿ª¿¡ m&aÇØ¼­ ´Ù¸¥ ¸ÚÁø ȸ»ç¸¦ ÀμöÇѰÍó·³ ±â»Ú´õ±º¿ä.
:
: lua¸¦ ·¡ÇÎÇÑ ¹¹ ¿©·¯°¡Áö ¶óÀ̺귯¸®³ª ¿ÀǼҽºµéÀÌ ÁñºñÇÏÁö¸¸ ÀÏ´Ü lua°¡ °¡Áö°í ÀÖ´Â ¼Ò½º¾çÀÌ ¾ó¸¶
: Å©Áö¾Ê°í º¹ÀâÇÏÁö ¾Ê¾Æ lua¼Ò½º¸¦ Á÷Á¢ µ¹·Áº»°Ì´Ï´Ù.
:
: ¾ÆÁ÷ lua¸¦ Á¦´ë·Î Ȱ¿ëÇϱ⿡´Â ¾Õ±æÀÌ Çè³­ÇϰÚÁö¸¸ ±×·¡µµ lua¶ó´Â °ÍÀ» ¾Ë°Ô µÇ¾ú°í µÇ´Â°É ´«À¸·Î Á÷Á¢ ºÃ´Ù´Â°ÍÀÌ ±â»Þ´Ï´Ù.
:
: ÇÏ¿©Æ° Æ÷·³À» ÅëÇØ¼­ ÇѼö ¹è¿ö°©´Ï´Ù.
Intotheblue [makerjh]   2009-09-21 17:02 X
°¨»çÇÕ´Ï´Ù..^^
º¹ ¹ÞÀ¸½Ç°Å¿¹¿ä..
¸ÁÄ¡ [mangchy]   2009-09-21 20:39 X
°¨»çÇÕ´Ï´Ù.
°¡¶û [tobject]   2009-09-22 09:31 X
ÀÌ±Û °­Á·ΠÀ̵¿ ºÎŹ ÇÕ´Ï´Ù.
³Ê¹« ¹Ð¸®¸é ¸øº¸°Ô µÇ¼­ ...    

+ -
ÀÌÀü±Û:  °áÇÕ ¹ýÄ¢À» ÀÌ¿ëÇÑ ¿¡·¯ ÁÙÀ̱â
´ÙÀ½±Û:  ¿¬»êÀÚ new ÀÇ Áø½Ç

°ü·Ã ±Û ¸®½ºÆ®
202 LuaTinker C++ºô´õ¿¡¼­ »ç¿ëÇϱ⠳²º´Ã¶.·¹Á¶ 1849 2009-09-21
Google
Copyright © 2008, borlandforum.com. All right reserved.