python源码编译 mingw_在windows上用gcc(mingw32)从命令行编译Cython扩展

我正在尝试在win32上测试一个小的cython模块,但是我在构建它时遇到了困难。在

文件名为linalg_赛顿.pyx包括以下内容:from __future__ import absolute_import, division, print_function

import numpy as np

cimport numpy as np

import cython

#@cython.boundscheck(False)

#np.ndarray[np.float32]

#@cython.wraparound(False)

def L2_sqrd_float32(np.ndarray hist1, np.ndarray hist2):

""" returns the squared L2 distance

seealso L2

Test:

hist1 = np.random.rand(4, 2)

hist2 = np.random.rand(4, 2)

out = np.empty(hist1.shape, dtype=hist1.dtype)

"""

return (np.abs(hist1 - hist2) ** 2).sum(-1) # this is faster

L2_sqrd = L2_sqrd_float32

我可以通过使用设置.py但我不想依赖设置.py来构建扩展。这是因为我还没有完全理解cython的编译过程。在我开始信任之前,我想先自己编译它设置.py. 也就是说,我可以通过观察设置.py构建扩展:

^{pr2}$

这个创建的pyd文件似乎可以工作,但我的目标是理解,而不仅仅是让它工作。在

复制这种格式(我自己也尝试了一些东西)我目前正在使用这些命令来手动构建所有东西。在C:\Python27\Scripts\cython.exe vtool\linalg_cython.pyx

C:\MinGW\bin\gcc.exe -mdll -O -DNPY_NO_DEPRECATED_API -Wall -Wno-unknown-pragmas

-Wno-format -Wno-unused-function -m32 -shared

-IC:\Python27\Lib\site-packages\numpy\core\include -IC:\Python27\include

-IC:\Python27\PC -IC:\Python27\Lib\site-packages\numpy\core\include

-LC:\Python27\libs -LC:\Python27\PCbuild -lpython27 -lmsvcr90 -o

vtool\linalg_cython.pyd -c vtool\linalg_cython.c

我的命令和设置.py命令是我尝试在一行中调用gcc,而不是将其拆分为两行。我本可以用两个命令调用它,但是def文件似乎是由设置.py我不知道这是怎么回事。在

它的内容似乎很简单:LIBRARY linalg_cython.pyd

EXPORTS

initlinalg_cython

但是在我将命令分成两个步骤并自己自动生成这个def文件之前,我想知道更多关于它的信息。不管怎样,不应该在一次对gcc的调用中创建.pyd吗?在

使用我正在使用的命令,我可以在正确的位置获得一个.pyd文件,但是当我试图导入它时,我得到: DLL load failed: %1 is not a valid Win32 application.

这应该是x86/x64不匹配,因此我尝试添加标志-m32。在

总而言之:当尝试编译一个简单的cython模块时,gcc命令给出了32/64位的错误。如何修复gcc命令,使其生成有效的32位pyd文件。在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php ldap支付,php – 实现LDAP合规性

我正在专门研究一个包含联系人和其他数据的php Web应用程序.我想知道使用LDAP协议将这些数据提供给外部程序有多难.那里有专门的工具吗?我真的找不到任何东西,但我无法想象我是第一个想到这一点的人.编辑1:我正在寻找的是让应用程序(如邮件客户端)能够使…

java sleep方法_一文搞懂 Java 线程中断!

在之前的一文《如何”优雅”地终止一个线程》详细说明了 stop 终止线程的坏处及如何优雅地终止线程,那么还有别的可以终止线程的方法吗?答案是肯定的,它就是我们今天要分享的——线程中断。下面的这断代码大家应该再熟悉不过了,线…

java 观察者模式_图解Java设计模式之观察者模式

图解Java设计模式之观察者模式天气预报项目需求天气预报设计方案 1 - 普通方案观察者模式(Observer)原理观察者模式解决天气预报需求观察者模式在JDK应用的源码分析天气预报项目需求1)气象站可以将每天测量到的湿度、温度、气压等等以公告的形…

matlab中mapshow,函数式编程 - MATLAB中的Map函数?

函数式编程 - MATLAB中的Map函数?我对MATLAB没有地图功能感到有些惊讶,所以我自己一起攻击了一个,因为它是我无法生存的东西。 那里有更好的版本吗? 有没有一个有点标准的MATLAB函数式编程库我缺少?function results …

linux 定时java程序,Linux操作系统上定时运行Java程序的方法

运行crontab -e编辑一个job。例如0 30 * * * /home/your_login/bin/java_PRogram | | | | | | | | | | | | | | —day of the week (0-6 with 0Sunday). | | | —— month of the year (1-12), | | |_____day of the month (1-31), | | | |____hour (0-23), | minute (0-59),更…

怎么在同一页中分页_分库分表业界难题,跨库分页的几种常见方案

为什么需要研究跨库分页?互联网很多业务都有分页拉取数据的需求,例如:(1)微信消息过多时,拉取第N页消息;(2)京东下单过多时,拉取第N页订单;(3)浏览58同城,查看第N页帖子;…

content add tpl.php,phpcms后台批量上传添加图片文章方法详解(一)

注:以下所有代码中,红色部分为增加部分。一、在后台增加批量添加按钮打开“phpcms\modules\content\templates\content_list.tpl.php”文件搜索“$category[‘catname‘]));?>”在这句话的后天的添加:a echo"" href":;&q…

sap 供应商表_财务人员学习SAP的路线图

有许多网友在公众号给我们留言,咨询财务人员学习SAP的事情,如何才能快速掌握SAP,有没有捷径什么的。今天就给大家分享一下财务人员学习SAP的经验,希望能够为财务人员揭开SAP神秘的面纱,学习SAP少走弯路。刚接触SAP的财…

nodejs搭配phantomjs highcharts后台生成图表

简单分享一下,后台使用nodejs结合highcharts、phantomjs生成报表图片的方法。这主要应用在日报邮件。 主要参考以下资料: http://www.highcharts.com/component/content/article/2-news/52-serverside-generated-charts#phantom_usagehttps://bitbucket.…

mysql4函数,mysql笔记4_函数_MySQL

常用函数:concat 连接函数 Lower 转小写 upper 转大写 Length 长度 substr 子串 now 当前时间 Year 当前年份...流程函数:ifnull(column,result1,result2) 判定字段为空则返回result2,不为空则result1。case...when...then...else...end 分支…

python实战扫码下载_实例:用 Python 做一个扫码工具

原标题:实例:用 Python 做一个扫码工具来自公众号: 新建文件夹X链接:https://blog.csdn.net/ZackSock/article/details/108610957Python实现扫码工具二维码作为一种信息传递的工具,在当今社会发挥了重要作用。从手机用…

前端小问题4

爱、喜悦、和平。 1、文字一个一个显示 js代码 <script type"text/javascript">window.οnlοadfunction(){var story document.getElementById(sto);var s document.getElementById(show);var a story.innerHTML.slice("");var i 0;timersetInt…

matlab解带参数的积分方程组,方程组求解问题:方程组中有带参数的积分函数,求参数...

吴老师&#xff0c;您好&#xff01;请教您一个问题。我想求下面方程组的解&#xff1a;quadl((x) exp(a(1)a(2)*xa(3)*x.^2a(4)*x.^3a(5)*x.^4),-100,100)-1;quadl((x) x.*exp(a(1)a(2)*xa(3)*x.^2a(4)*x.^3a(5)*x.^4),-100,100)-m1;quadl((x) x.^2.*exp(a(1)a(2)*xa(3)*x.^2a…

vue 页面切换动画_Flutter Hero动画让你的APP页面切换充满动效 不一样的体验 不一样的细节处理...

优美的应用体验 来自于细节的处理&#xff0c;更源自于码农的自我要求与努力&#xff0c;当然也需要码农年轻灵活的思维。本文章实现的Demo效果&#xff0c;如下图所示&#xff1a;class HeroHomePage extends StatefulWidget { override _TestPageState createState() > …

自定义左右侧滑菜单

实现效果&#xff1a; 左右侧滑菜单&#xff0c;侧滑栏占主屏比为60%监听触控&#xff0c;自定义滑动动画&#xff0c;当侧边栏滑动超过50%松开触控将自动滑动到60%&#xff0c;未超过50%松开触控回归侧边栏隐藏为主屏设置蒙版效果&#xff0c;根据侧滑菜单的占屏比设置主屏蒙版…

秦九韶算法matlab程序,数值分析matlab程序实例.doc

数值分析matlab程序实例1&#xff0c;秦九韶算法&#xff0c;求出P(x3)24x5x^22x^3的值clear?all;x3;n3;a(1)2;a(2)4;a(3)5;a(4)2v(1)a(n1);for k2:(n1);v(k)x*v(k-1)a(n-k2);end?pv(n1)p ,1132&#xff0c;一次线型插值程序&#xff1a;利用100.121.求115的开方。clear all;…

在github上创建新分支

在github上创建仓库&#xff1a; Create a new repository on the command line touch README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/BrentHuang/MyRepo.git git push -u origin master 在本地新建…

以python程序调用的系统_python 系统调用的实例详解

python 系统调用的实例详解本文将通过两种方法对python 系统调用进行讲解&#xff0c;包括python使用CreateProcess函数运行其他程序和ctypes模块的实例&#xff0c;一 python使用CreateProcess函数运行其他程序>>> import win32process>>> handle win32pro…

ubuntu php7 memcache,linux上安装php7 memcache扩展

php7安装memcache扩展需要memcache php7的分支 否则安装会失败php7的memcache扩展安装&#xff0c;真的很让人心碎&#xff01;下面则是php7的扩展memcache安装了。用之前的php版本安装是没有问题&#xff0c;但是用了php7安装 http://pecl.php.net/package/memcache 下的任一…

好文推荐系列--------(3)GruntJS 在线重载 提升生产率至新境界

好文原文地址&#xff1a;http://segmentfault.com/a/1190000000354555 本文将首先介绍grunt-markdown插件如何配合HTML模板使用&#xff0c;接着我将介绍如何使用grunt-watch插件将工作效率提升至新层次。如果你不熟悉GruntJS&#xff0c;请先阅读我关于GruntJS的文章。 Githu…