🔴 哪几样在边界上走得通
⚠️ 这条路线**一个答案都不是耗时**。耗时跟机器、跟负载、跟编译器都有关,换台机器数字就变了。**能当答案的只有"走了多少步"和"两边结果一不一样"。** import ctypes # 能直接
字符串过边界要走一道手续
⚠️ 这条路线**一个答案都不是耗时**。耗时跟机器、跟负载、跟编译器都有关,换台机器数字就变了。**能当答案的只有"走了多少步"和"两边结果一不一样"。**
⚠️ 把一个 list 摊成 C 认得的样子
⚠️ 这条路线**一个答案都不是耗时**。耗时跟机器、跟负载、跟编译器都有关,换台机器数字就变了。**能当答案的只有"走了多少步"和"两边结果一不一样"。**
🔴 `.so` 是什么
把 C 编成 .so(Windows 上是 .dll),它是【0】。
⚠️ 为什么要先说清类型
调一个 C 函数前要先写这两样,因为【0】。
🔴 `ctypes` 相比写扩展模块,好在哪
用 ctypes 而不是写 Python 扩展模块,好处是【0】。
🔴 真的调一次 C
🔴 这一节的 Python 题会**在运行时调 gcc 现编一个 .so,再用 ctypes 加载进来**——真的跨语言调用,不是假装。判题机需要 gcc、一个可写的临时目录,以及允许 Python 起子进程。⚠️ 这条路线**一个答案都
把两个 C 函数调起来
🔴 这一节的 Python 题会**在运行时调 gcc 现编一个 .so,再用 ctypes 加载进来**——真的跨语言调用,不是假装。判题机需要 gcc、一个可写的临时目录,以及允许 Python 起子进程。⚠️ 这些题里的 build
🔴 交回 double 的函数,一定要说清楚
🔴 这一节的 Python 题会**在运行时调 gcc 现编一个 .so,再用 ctypes 加载进来**——真的跨语言调用,不是假装。判题机需要 gcc、一个可写的临时目录,以及允许 Python 起子进程。⚠️ 这些题里的 build
⚠️ 自己把 `.so` 建出来
🔴 这一节的 Python 题会**在运行时调 gcc 现编一个 .so,再用 ctypes 加载进来**——真的跨语言调用,不是假装。判题机需要 gcc、一个可写的临时目录,以及允许 Python 起子进程。三步:写文件、调 gcc、加