Py Tinker
f t c
ei

python.PyTinker #

파일 받기 #

최근 변경 내용 보기 #

20050813.myevan예외 타입 체크를 RELEASE 모드일때도 수행
20050813.myevan함수 네이밍을 Python 표준 형식으로 교체
20050813.myevan메소드 얻기 버그 수정 DESCR_GET 기능 적용(self 바인딩 처리)
20050813.myevanrepr, dir 기능 지원
20050813.myevan최대 인자개수 4개 -> 8개 확장
20050813.myevan클래스에 스태틱 메소드 기능(STATIC_deft, STATIC_defv) 추가
20050813.myevan자동 생성된 바인딩 함수, 메소드 헤더 분리(__py_tinker_func_impl.h, __py_tinker_method_impl.h)
20050813.myevan바인딩 함수, 메소드 자동 생성 도구 추가 utils/build_code.py
20050813.myevanPyObject_As 중복 코드 제거 int, uint, long, ulong, const void*, const float*, const char*
20050811.myevanPyEmbed_?RunFile 호출중 에러 발생시 false 리턴하게 수정
(이전 변경 내용 보기 PyTinker.History)

최근 예제 보기 #

20050813.myevanrepr, dir 기능 사용하기PyTinker.Example.ShowInfo
20050729.myevanstderr 출력 방향 바꾸기PyTinker.Example.RedirectError
20050729.myevanC++ 에서 파이썬내 인스턴스 메소드 호출하기PyTinker.Example.CallPythonInstanceMethod
20050727.myevan?OpenGL 랩퍼 예제PyTinker.Example.OpenGLWrapper
20050726.myevan?MySQL 랩퍼 구현PyTinker.Example.MySQLWrapper
20050721.myevan전달 인자 타입 예외 처리PyTinker.Example.TypeErrorExcption
20050721.myevan생성자와 객체 인자 전달 예제PyTinker.Example.Construct&Arguments
20050719.myevan클래스를 만드는 간단한 예제PyTinker.Example.SimpleClass
20050719.myevan모듈을 만드는 간단한 예제PyTinker.Example.SimpleMoudle

이야기를 시작하면서 #

PyTinker 는 boost::python 에서 나온 ?LuaBind 가 너무 느려 만들어진 LuaTinker 를 보고 boost::python 을 쓰다 10줄 python 임베딩 루틴을 노트북(참고로 CPU는 1G)에서 컴파일하는데, 백만년 걸리는걸 보고 이틀동안 날밤새서 만든 프로그램입니다.

당연히 boost::python 보다 좋은거는 비스므리한 기능에 컴파일 속도가 빠르다는것 밖에 없으며, 인내력이 남들보다 출중하시거나 컴퓨터 사양이 엄청 좋으신 분들은 그냥 boost::python 을 사용하시는걸 추천합니다.(경험을 같이 한다는 건 참 좋은 일이죠. 특히 괴로운 경험은 더욱이 그렇습니다. 후훗 -_-)y- ~ )


설치해보시고! 멋진 기능을 두루 살펴보시고! 뭔가 다른 생각을 갖게되신다면 다시 아래글을 읽어보시기 바랍니다.


. . . . . .


반갑습니다! boost::python 의 놀라운 성능을 맛보고 오셨군요!!

boost 제작자분들의 멋진 이상은 정말이지 저도 200% 공감합니다. c++ 을 제작하신 분들께도 ... 성함은 잘 모르겠지만.. 어쨌든... 정말 존경의 표시를 다시 한번 밝힙니다.

boost::python 정말 놀라운 라이브러리이며, c++은 정말이지 최고의 언어라고 생각되시지 않으십니까? 저도 boost::python을 쓰기전에는 c++에서 파이썬처럼 작성할 수 있을지는 정말 몰랐습니다.

다만 CPU가 10G정도 되지 않는... 현재 2005년 7월의 무더운 날씨속의현실이 안타까울 따름입니다. 게임에 실제 쓰려면 이부분을 컴파일할때는 밥먹고 편의점가서 음료수 마시면서 노닥거리고 오면 되겠더군요.

아무튼; 이런 연유로 해서 PyTinker 가 탄생하게 되었습니다.

설치하기 #

파일을 받아 압축을 푸시면 아래와 같은 구조를 보실 수 있습니다.
py_tinker/eternity.dsw워크 스페이스
py_tinker/bin/실행 가능한 소스
py_tinker/docs/도움말
py_tinker/include/eter/헤더 파일
py_tinker/lib/라이브러리
py_tinker/src/py_tinker/ PyTinker 라입과 예제 프로그램 소스
py_tinker/extern/python-2.4/include외부라이브러리:python-2.4 헤더파일
py_tinker/extern/python-2.4/lib외부라이브러리:python-2.4 라입파일

Batch Build 를 하시면 아래와 같은 파일들이 생성됩니다.

py_tinker/lib/py_tinker.libPyTinker Release 라입
py_tinker/lib/py_tinker_d.libPyTinker Debug 라입

헤더 파일은 아래처럼 구성이 되어있습니다.

py_tinker/include/eter/py_tinker.h공개용 헤더 (*)
py_tinker/include/eter/__py_tinker_*.h내부용 헤더

(*) 표된 헤더 외에 다른건 실제 사용할때는 별로 신경쓰실일은 없습니다.

제작자 소개 및 버그 리포트 #

myevanhttp://www.myevan.netymir entertainment & eternity
zupethttp://php.chol.com/~kwonilnexon & project moe

버그 리포트 및 건의 사항 및 질문 사항은 아래 홈페이지에 글을 남겨주시면 감사하겠습니다.



Powered by MoniWiki
xhtml1 | css2 | rss