目标:自定义一个C\C++矩阵类,有几个用于演示的矩阵运算函数或者操作,将其通过

PyTypeOject newType的方式注册到python中成为一种新的类型,并且要可继承。

预备知识

建议先运行python源码剖析第6章smallpython的代码,有个直观认识,再从书的第一章看起。

知乎相关type和oject的回答链接放这。

熟悉python和C\C++的混合编程。

C:

https://www.cnblogs.com/btchenguang/archive/2012/09/04/2670849.html

C++:

http://bbs.chinaunix.net/thread-1593255-1-1.html

妈卖批,会提示没有Python.h,然后又提示未定义的引用,解决方法:

先把anaconda中搜到的python2.7的头文件夹复制到/usr/include中,再使用下面的命令:

gcc -I/usr/include/python2.7 test.c -lpython2.7 -o demo

解决方法来自:https://stackoverflow.com/questions/12955086/compile-file-c-with-embedded-python-c-functions

每一个包装函数主要做三件事:
1.把输入的Python对象转换为C/C++对象;
2.调用C/C++函数;
3.转换C/C++函数处理的输出结果为Python对象,并返回;

http://www.xefan.com/categories/Python%E6%A0%8F%E7%9B%AE/

https://docs.python.org/2.7/extending/index.html

开头的目标还是暂时放一放,还是看THPP、ATen、csrc有趣。

windows下给python添加C、C++扩展编译的时候有几个坑。下面是解决方法:

Unable to find vcvarsall.bat         https://www.zhihu.com/question/26857761

我用的是 先命令行运行  SET VS90COMNTOOLS=%VS110COMNTOOLS%  ,

然后 python setup.py build的方法。

另外一个,安装了Anaconda后,代码要包括Python.h时也会提示找不到头文件。

下面这个博客解决了:

https://www.zhihu.com/question/23003213/answer/56121859

cl my_python.c -IC:\Python27\include C:\Python27\libs\python27.lib

路径替换成Anaconda中python所在路径。而且命令行要用 VS 的兼容工具命令提示

编辑时间:

1128 0119

1201 0050

1201 0150

2017年12月8日01:30:05

最新文章

  1. jquery 监听input输入值事件
  2. Java——URLEncoder和URLDecoder
  3. iOS 字符转换
  4. linux工具之dracut
  5. 使用Intellij IDEA从零使用Spring MVC
  6. BZOJ 1016 星球大战starwar(逆向-并查集)
  7. Python基础 字符串的魔法
  8. 压力测试工具siege的用法
  9. 解决Windows8系统磁盘占用太多100%或99%
  10. javascript中的基本数据类型
  11. Shell编程入门(再版)(在)
  12. Spark环境搭建(上)——基础环境搭建
  13. DCOS实践分享(5):Open DCOS深入分析
  14. 运维ip语法,DNS配置方法
  15. C#保存文件为无BOM的utf8格式
  16. 邮件远控电脑MCC-python实现
  17. 怎样从外网访问内网Jupyter Notebook?
  18. _spellmod_on_learn、_spellmod_on_remove
  19. ado.net介绍
  20. vue 小知识

热门文章

  1. mqtt------ mosca服务器端参数简介
  2. python操作redis集群
  3. mvn package
  4. Linux CentOS6.8 项目部署脚本实现
  5. js使页面重定向
  6. SSM前言——相关设计模式
  7. 桥接模式-pattern系列
  8. 【草稿】实验室新手HandBook
  9. python2.7安装pip遇到ImportError: cannot import name HTTPSHandle
  10. Ubuntu下math库函数编译时未定义问题的解决