사용자 도구

사이트 도구


project:embeddedpython_boostpython

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

project:embeddedpython_boostpython [2014/03/04 04:56] – 새로 만듦 changwooproject:embeddedpython_boostpython [2014/03/04 08:44] (현재) – 제거됨 changwoo
줄 1: 줄 1:
-====== Embedded Python: Boost Python ====== 
-C만을 이용한다면 조금 복잡하겠지만, 아마 C++를 이용한다면 보다 언어적으로 혜택을 받을 수 있다. 임베딩을 보다 편리하게 해 줄 수 있는 라이브러리들이 있다. boost::python도 그 중 하나이다. 
  
-boost::python은 파이썬 확장에 보다 초점을 맞춘 것으로 보이는 라이브러리다. 현재 boost::pyhthon은 임베딩을 완전히 지원하지는 않는다 
- 
-http://www.boost.org/doc/libs/1_55_0/libs/python/doc/tutorial/doc/html/python/embedding.html 
- 
-그러나 이 정도만으로도 상당히 유용한 기능들을 가져다 쓸 수 있다. 
- 
-본 문서는 boost::python을 이용한 파이썬 삽입에 대해 다룬다. 
- 
-===== try-catch ====== 
-C API를 사용하는 경우, 모든 값에 대해 에러 체크를 명시적으로 수행해야 했다. 이렇게 프로그래밍을 짜면 if ~ else의 철장벽이 겹겹이 쌓이게 된다. 2~3중으로 쌓인 if 문 안에서 에러가 나는 경우, 안전하게 에러 처리를 하기가 너무 어렵고, 어쩔 수 없이 goto 문에 의지하는 경우도 종종 발생한다. 
- 
-boost::python에서는 try - catch 명령을 사용해 예외 처리를 할 수 있다.  
- 
-<code c> 
-if ( Py_SomeFunc != NULL ) { 
-  // 운이 좋다면 
-} else { 
-  // 여기서 자원 회수를 비롯한 에러 처리를 해야 한다. 
-} 
-</code> 
- 
-이렇게. 
- 
-<code c> 
-try { 
-  ... 
-} catch (boost::python::error_already_set const &) { 
- // 에러 처리 
-} 
-</code> 
- 
-===== 파이썬 기본 자료형 다루기 ===== 
-==== Type Casting ==== 
-==== List ==== 
-==== Tuple ==== 
-==== Dictonary ==== 
project/embeddedpython_boostpython.1393909014.txt.gz · 마지막으로 수정됨: 2014/10/09 21:23 (바깥 편집)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki