Cython 条件编译基于通过“setuptools”给出的外部值

2023-12-08

我尝试从 Cython pyx 文件有条件地生成 C 代码。我在 Cython 文档中找到了我可以使用的DEF定义一个值和IF根据定义的值有条件地生成代码,但是如何从setup.py via Extension from setuptools.

谢谢


谢谢你的链接。

有趣的旗帜setup.py is cython_compile_time_env。并导入Extension来自赛通。

from setuptools import setup
from Cython.Distutils.extension import Extension

ext = Extension(
    name,
    include_dirs=include_dirs,
    cython_compile_time_env=dict(OPENMP=True),
    sources=['test.pyx'])

setup(name=name,
      cmdclass=dict(build_ext=build_ext),
      ext_modules=[ext])

并且在test.pyx:

...
IF OPENMP:
#Do openmp
ELSE:
#No openmp
...

Cython 条件语句 (IF...ELSE上面)已记录在案here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cython 条件编译基于通过“setuptools”给出的外部值 的相关文章

随机推荐

  • 使用谷歌分析跟踪重定向页面

    我正在尝试使用谷歌分析跟踪重定向页面 我有一个名为redirect php 当我访问像这样的网址时redirect php c 12345678 一个 php 函数对 sql 查找表进行查询以解码代码12345678使用先前插入的 url
  • 有条件地生成表格行中断

    我有一个 table 有两个单元格 如果设备是计算机 我想水平显示 如果设备是移动设备 我想垂直显示 我借用了一个JS函数来从这个答案中检测移动设备https stackoverflow com a 11381730 3298930效果很好
  • 在 PyGame 中,如何在不使用 sleep 函数的情况下每 3 秒移动一个图像?

    最近我学习了一些基本的Python 所以我正在使用PyGame编写一个游戏来提高我的编程技能 在我的游戏中 我想每3秒移动一个怪物的图像 同时我可以用鼠标瞄准它并点击鼠标射击它 一开始我尝试使用时间 睡眠 3 但结果却暂停了整个程序 并且我
  • iCloud 仪表板:无法将 CloudKit 架构部署到生产环境 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我有一个已发布的应用程序 具有现有的生产模式 我对开发模式进行了更改 现在我想部署到生产中 点击后Deploy Schema to Production 弹出对话框显示The
  • Python 中的 CSV 在 Windows 上添加额外的回车符

    import csv with open test csv w as outfile writer csv writer outfile delimiter quoting csv QUOTE MINIMAL writer writerow
  • Python Tkinter 滑块自定义

    I m new with tkinter and I want to create a slider like the one in this picture 但我不知道这是否可能 所以我的问题是 这可能吗 有人为我提供快速教程或其他东西吗
  • 使用 rlang 将权重传递给 glm()

    我想通过weights to glm 通过函数而无需使用eval substitute or do call 方法 但使用rlang 这描述了一个更复杂的底层函数 Toy data mydata dplyr tibble outcome c
  • 文件上传|无需刷新页面 |支柱2 |无闪光|

    问题描述 我想使用JSP创建一个文件上传屏幕 该屏幕将允许用户在屏幕上选择多个文件 但所有文件都只有一个 上传 按钮 单击上传按钮后 应在 Action 类中获取所有文件对象 但重要的是提交后页面不应该刷新 同一屏幕上还会显示其他信息 这些
  • 将数据从子组件传递到父组件(子组件通过路由加载)

    我有这个问题 Chat是一个父组件 它有Messages子组件 我有 url s chat chat id 所以我可以得到 id参数输入Messages组件与路由参数 但我需要那个 id in Chat成分 所以如果我加载 chat 46
  • jquery可以读取外部页面的dom元素吗?

    是否可以读取和解析 cnn com 例如 等第三方网站的 dom 元素 以便我可以获得 div a p 标签并读取位置和大小信息 jquery 可以解析并显示您的 javascript 代码运行的网页信息 但是如果我们向 load 命令提供
  • 如何反序列化 PHP 序列化数组/变量/类并在 C# 中返回合适的对象

    目标是反序列化PHP 序列化C 中的字符串并获取合适的对象 有什么方法可以在 C Net 中实现这一点吗 更具体 我们需要创建一个应用程序 通过 HTTP 与特定网站进行通信 该网站返回所需的信息 幸运 不幸的是 我们没有网站权限 因此数据
  • 启用文本过滤器时如何引用列表项的原始位置?

    当我使用编辑文本来过滤项目时 列表位置变得一团糟 并且项目不再调用正确的意图 任何帮助表示赞赏 lv setOnItemClickListener new OnItemClickListener public void onItemClic
  • 多个 Rails 应用程序 nginx 乘客配置

    I used this设置服务器指南 这是我的配置 nginx nginx conf user www data worker processes auto pid run nginx pid events worker connectio
  • 了解 Spring @Autowired 的用法

    我正在阅读 spring 3 0 x 参考文档来理解 Spring Autowired 注释 3 9 2 Autowired 和 Inject 我无法理解下面的例子 我们是否需要在 XML 中做一些事情才能使其正常工作 实施例1 publi
  • 监听JTextArea的粘贴事件

    我想在用户将文本粘贴到我的 JTextArea 中时调用一个函数 将文本粘贴到 JTextArea 时是否会生成任何事件 我可以使用哪个侦听器来触发此事件的函数 一种可能的解决方案 我希望有人有更好的解决方案 是替换按键绑定Action负责
  • Angular 2 Aot 错误:致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足

    在运行 Angular 2 AOT rollup 时我遇到了上述问题 lt Last few GCs gt 144518 ms Mark sweep 1317 0 1404 4 gt 1317 0 1404 4 MB 1522 9 0 0
  • 如何让一个进程等待多个资源?

    我目前正在使用 SimPy 来建模和模拟服务器进程 我希望该进程根据从何处接收此消息来执行不同的操作 SimPy 文档展示了如何等待多个事件 例如 yield event1 事件2 不过 我目前正在尝试等待多个商店提供资源 场景如下 服务器
  • 将测试结果添加到 VSTS 中的测试运行(测试用例)

    我需要将测试结果添加到 VSTS 中的测试用例中 我是 VSTS 新手 不确定我的代码出了什么问题 var ur new Uri https myaccount visualstudio com VssCredentials cr new
  • Vaadin 7 在组件之间触发自定义事件

    我想创建自定义事件并在视图的某些部分触发它们 以便更新 删除 刷新视图的其他部分 我尝试过扩展 Component Event 和 Component Listener 但它不起作用 我认为事件和侦听器必须仅限于同一组件实例 Vaadin
  • Cython 条件编译基于通过“setuptools”给出的外部值

    我尝试从 Cython pyx 文件有条件地生成 C 代码 我在 Cython 文档中找到了我可以使用的DEF定义一个值和IF根据定义的值有条件地生成代码 但是如何从setup py via Extension from setuptool