小编Bit*_*hyz的帖子

使用 Cython 生成的头文件

根据文档,可以使用从 Cython 生成的 C 头文件。我已经Hello World毫无问题地遵循了这个例子,现在我想尝试一些不同的东西。我想使用公共声明来使用自定义方法。我的代码结构如下:

  • 你好.pyx
  • 设置文件
  • 主文件

你好.pyx

cdef public void say_hello():
    print("Hello World")
Run Code Online (Sandbox Code Playgroud)

设置文件

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [
    Extension("hello", ["hello.pyx", "main.c"]),
]

setup(
  name='Hello app',
  cmdclass={'build_ext': build_ext},
  ext_modules=ext_modules
)
Run Code Online (Sandbox Code Playgroud)

主文件

#include "hello.h"

int main(void){
    say_hello();
}
Run Code Online (Sandbox Code Playgroud)

main.c作为测试文件以验证该say_hello()方法按预期工作。构建安装文件python3 setup.py build_ext会产生以下输出。

    running build_ext
    skipping 'hello.c' Cython extension (up-to-date)
    building 'hello' extension
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall …
Run Code Online (Sandbox Code Playgroud)

c cython

3
推荐指数
1
解决办法
3164
查看次数

无法打开输入文件ws2_32.libkernel32.lib

我开始在windows环境中使用tenouk的 socket编程教程.我目前有客户端和服务器代码都工作但在调试模式下.当我尝试在发布模式下构建代码时,我得到一个链接器错误LNK1181.现在,在您说有很多线程要检查此错误之前,我只想说我已经在项目中添加了正确的依赖项.我得到无法打开输入文件ws2_32.lib错误.我正在使用Visual Studio 2012 RC.假设存在错误是否安全?我与一个人进行了对话,他告诉我,我应该能够在构建项目时更改项目首选项并接受.dl文件而不是.lib.我还没弄清楚如何做到这一点.这可能吗?最可能的事情是我错过了一些东西,但由于我不熟悉VS,我希望有人向我展示正确的方向.提前致谢

c++ linker winsock2

1
推荐指数
1
解决办法
3507
查看次数

标签 统计

c ×1

c++ ×1

cython ×1

linker ×1

winsock2 ×1