2011-10-02 2 views
2

나는 몇 가지 방법으로 수업을 진행하고 있으며 한 가지 방법을 제외하고는 모두의 성능에 만족합니다. 우리는 이것을 C++에 이식하려고합니다. 그러나 우리는 전체 클래스를 C++로 포팅하는데 너무 많은 시간을 소비하기를 원하지 않습니다. 이것이 가능한가? 어떻게해야합니까? 빈 클래스에 있어야할까요? 수업에 없습니까? 내가 원했던 것은 C 버전을 사용하려고 시도한 것이고 실패한 경우 (다른 OS, pyd가 누락 된 경우), Python 버전을로드합니다. 감사합니다.포트를 C 클래스의 단일 메소드로만?

+0

클래스의 다른 메서드를 사용하여 포트하려는 메서드를 사용합니까? –

+0

왜 C++입니까? 왜 C가 아닌가? –

+0

@Chris Lutz : C++은 C + 1이기 때문에! – GWW

답변

1

코드의 복잡성에 따라 SciPy의 일부인 Weave을 사용할 수 있습니다. 그것은 당신이 파이썬 모듈에 C/C++ 코드를 삽입 할 수있게 해줍니다. 튜토리얼 here이 있습니다.

당신이 볼 수있는 또 다른 옵션은 Boost::Python으로 약간 더 복잡합니다.

+0

우리는이 방법을 사용하고 있습니다 : http://docs.python.org/extending/extending.html –

+0

답변을 기다리고 있습니다. 질문은 C++에서 Python 클래스에 대한 메서드를 만들 수 있습니까? 그렇다면 어떻게할까요? 그렇다면 어떻게할까요? 그리고 Python 버전이 실패하면 Python 버전을 실행하도록 코드에서 말할 수 있습니까? OS, pyd 누락). –