1.
Pocket이 있습니다. ‘Read it Later’라는 표어처럼 주머니속에 보관했다가 나중에 꺼내서 읽어볼 수 있도록 해주는 서비스입니다. 제가 인터넷을 이용할 때 항상 사용하는 서비스입니다. Chrome이나 Firefox에서 Pocket을 할 수 있는 플러그인이 있습니다. 그동안 Pocket했던 글들을 정리하려고 하니까 몇 천이 넘습니다. 마우스 휠을 내리다가 눈에 들어오는 글을 보았습니다. C/C++ 프로그램에 Python을 내장하는 방법에 관한 글들입니다. 오래전에 나온 글입니다. Python이 독자적인 개발언어로 정착하기 이전에 만들어진 글입니다. 그렇지만 Python으로 개발된 전략을 ZeroAOS에 내장하는 고민을 하고 있어서 정리합니다.
시작은 지금으로부터 15년전 Linux Journal에 실린 글입니다.
Embedding Python in Multi-Threaded C/C++ Applications
다시 5년이란 시간이 흐른 후 Jun Du가 codeproject에 글을 썼습니다. 첫번째 글인 Embedding Python in C/C++: Part I는 아래와 같은 목적입니다.
This is written for programmers who are more experienced in C/C++ than in Python, the tutorial takes a practical approach and omits all theoretical discussions.
Try to maintain Python’s cross-platform compatibility when writing the embedding code.
두번째 글인 Embedding Python in C/C++: Part II은 다음과 같습니다. TCP/IP와 Shared Memory가 나옵니다.
If you create the thread inside the Python module, place its server code in the Python thread function.
If you create the thread in the C/C++ code, call the Python server code from within the C thread function.
2.
2010년이 넘어서면 글들이 깊어지고 주제도 다양해집니다.
Embedding Python in multi-threaded C++ applications
Concurrency with embedded Python in a multi-threaded C++ application
아래 글은 데이타 처리와 차트로 표현하는 기능을 Python에 맡긴 경우입니다.
클리앙 크샤나님이 올린 글도 있습니다. C/C++와의 결합. Embedded python으로 소스까지 올렸습니다.
Python을 내장하는 기본은 같겠지만 2000년과 2014년의 Python이 다르므로 최근 Pyhon의 Manual을 기본으로 확인해야 합니다.
Extending and Embedding the Python Interpreter
3.
우연히 두개의 책을 보았습니다. 첫째는 루마니아 교수가 A Practical Guide for Scientists and Engineers Using Python and C/C++을 목적으로 쓴 Introduction to Numerical Programming입니다.
다른 하나는 미국 교수가 C개발자를 위해 2014년에 펴낸 자료입니다.