文档
https://docs.python.org/3/extending/index.html
https://www.codeproject.com/articles/11805/embedding-python-in-c-c-part-i
https://www.codeproject.com/articles/11843/embedding-python-in-c-c-part-ii
https://www.codeproject.com/articles/820116/embedding-python-program-in-a-c-cplusplus-code
参考
https://docs.python.org/3.6/c-api/index.html
https://docs.python.org/3.6/c-api/capsule.html
工具
https://pypi.python.org/pypi/SIP
http://www.swig.org/tutorial.html
引用计数
Ownership:对一个对象调用Py_INCREF()意味着拥有了该对象的所有权。需要通过调用Py_DECREF()释放所有权。所有权是相对于引用而言的,不是相对与对象而言的。
New Reference:如果一个函数调用返回了一个对象的新的引用,意味着该函数的调用者将拥有对象的所有权。
Borrowed Reference:如果一个函数调用返回了一个对象的借用的引用,意味着该函数的调用者没有对象的所有权。
Steal Reference:如果一个函数调用偷了一个参数的引用,意味着该函数的调用者不需要调用Py_DECREF()释放所有权。