사용법을 정리해보려고 했지만 너무 쉬워서 의미가 없어 보임. (그리고 인터넷에 다 있음.) 간단히 레퍼런스 링크들만 정리해본다.
- http://www.serious-code.net/moin.cgi/LuaCSharpBinding
간단한 사용법. 연동하기 정말 쉽다. - http://luaforge.net/projects/luainterface/
프로젝트 메인페이지. 도큐먼트와 dll을 다운받을 수 있다. 2011년 7월 15일 현재 최신 버전은 2.0.3 - http://www.gamedev.net/page/resources/_/reference/programming/sweet-snippets/using-lua-with-c-r2275
예전에 트위터에 공유했던 페이지인데, 역시나 간단한 소개와 샘플코드가 있다. - http://luaforge.net/docman/view.php/50/10/luainterface.pdf
도큐먼트. 2장 내용은 볼만하다. - http://share.nprog.com/guide.pdf
실제 사용법을 익히려면 이게 더 나은 도큐먼트. - http://blog.hasol.net/398
Visual Studio 2010에서 사용할 때 만나는 에러 없애는 법. LuaInterface.dll이 닷넷 2.0 기반이라서 버전 충돌 이슈가 있다. - http://stackoverflow.com/questions/3024190/luainterface-add-a-table-to-the-script-scope
LuaInterface 쓸 때 C#에서 루아 테이블 생성하고 다루는 법.
C++에서 개발할 때는 이제 아주 당연하게 lua를 쓰고 있다. 얼마전에 Direct2D 써서 만들었던테스리스도 config나 블럭 정의 같은 부분은 모두 루아로 만들었다. 이게 버릇이 되다 보니 C#에서 뭔가를 만들어보려고 해도 lua 환경이 그리워졌다. C#은 빌드할때 시간이 안 걸려서 C++만큼 답답하지는 않지만 그래도 간단한 변수 하나 바꿀 때마다 프로그램을 껐다 켜야 하는 건 곤욕이다.
처음에는 C#프로젝트에서는 파워쉘이 루아의 자리를 대체할 수 있지 않을까 생각했다. 닷넷에 친화적인 물건이고, 쉘 방식 인터페이스로 닷넷의 함수들을 직접 호출하고 제어할 수 있으니까, 잘만 이어 붙이면 C++에 루아를 임베딩하는 것처럼 사용할 수 있지 않을까 하는 생각을 했다. 잠깐 살펴봤지만 방법이 아주 없는 것은 아니다.
( http://msdn.microsoft.com/en-us/library/ms569889(v=VS.85).aspx /
파워쉘 스크립트 파일을 읽어 들여서 실행할 수도 있고, 대화형 인터프리터를 만들 수도 있지만.. 공부할 것도 많고 좀 복잡해 보임.. (사실 파워쉘이 이러라고 만든 물건이 아니라 좀 어거지로 밀어 넣는 느낌이 드는 것이다. 관리를 위한 툴이니까…)
근데 괜히 쉬운 길을 돌아갈 뻔 했다. 루아를 그냥 C#에서도 쓸 수 있다. 위에 정리해둔 링크를 조금 보면 느끼겠지만 붙이기도 쉽고 쓰기도 쉽다. 디테일한 사용법은 도큐먼트에 자세하게 나와있다. C# 스럽게 아주 깔끔한 인터페이스를 제공한다.
역시 듣던대로 C#은 어지간하면 손 안대고 코풀 수 있구나.
LinqToJson 모듈만 추가로 하나 구하면 이것들로 꽤 재미있는 프로젝트를 해볼 수 있을 것 같다 :)
http://devnote.tistory.com/191
'Programming > C#/Xna/Kinect/WPF' 카테고리의 다른 글
[C#] 컴파일러와 dll파일 (0) | 2012.11.20 |
---|---|
[C#] ListView에서 Tag의 활용 (0) | 2012.11.15 |
[C#] Cross Thread 처리방법 (0) | 2012.11.12 |
[XNA] Framework의 기본 Logic흐름도 (0) | 2012.10.23 |
[C#] Dictionary (Map) 예제 (0) | 2012.10.23 |