- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 python 中以以下形式运行 c/c++ 代码:
def run_c_code(code):
#Do something to run the code
code = """
Arbitrary code
"""
run_c_code(code)
如果有人可以提供一个不涉及安装软件包的简单解决方案,那就太好了。我知道 C 不是脚本语言,但如果它可以进行“迷你”编译,能够将代码运行到控制台中,那就太好了。代码应该像正常编译一样运行,但这需要能够在其余代码运行它时动态工作,如果可能的话,尽可能快地运行,并且能够创建和编辑变量,以便 python 可以使用它。如果需要,可以将代码预编译为code = """something"""
。
对所有的要求感到抱歉,但如果你能让c代码在python中运行那就太好了。预先感谢所有答案..
最佳答案
正如其他人已经指出的那样,要从 Python“内部”运行 C/C++ 代码,您必须将所述 C/C++ 代码写入自己的文件中,正确编译它,然后从 Python 执行该程序代码。
你不能只输入一个命令,编译它,然后执行它。您始终必须建立整个“框架”。当您尚未编写 20 行后结束类/函数/语句的 }
时,您无法编译程序。此时,您必须编写整个 C/C++ 程序才能使其正常工作。它根本不应该在运行时逐行解释。您可以使用 python、bash/dash/batch 和其他一些工具来做到这一点。但 C/C++ 绝对不是其中之一。
随之而来的是几个问题。首先,C/C++ 部分可能需要来自 Python 部分的数据。我不知道有什么方法可以单独在 RAM 中执行此操作(也许有一个,但我不知道),因此 Python 部分必须将其写入一个文件,即 C/C++ 部分将读取并处理它,然后将处理后的数据放入另一个文件中,然后 Python 部分必须读取该数据并继续。
这又引出了另一点。在这里,我们已经进入了多线程领域,因为当您执行该 C/C++ 程序时,您正在处理第二个线程。因此,您必须以某种方式协调这些程序,以便 Python 部分只有在 C/C++ 部分完成后才能继续。运行起来应该不是一个大问题,但如果操作不当,对性能和 RAM 来说可能是一场噩梦。
在不知道您使用该程序的程度的情况下,我还想补充一点,C/C++ 并不像 Python 那样独立于平台。您必须为运行该程序的每个不同操作系统编译该程序。这可能需要对代码进行微小的更改,并且通常只需要大量的工作,因为您必须针对每个系统进行调试和测试。
<小时/>综上所述,我认为寻找其他解决方案可能会更好。我不知道为什么您想在 C/C++ 中运行这个特定部分,但我建议尝试用一种语言来完成它。如果你绝对没有办法用 Python 来完成它(我对此表示怀疑,几乎所有东西都有库),那么你应该将 Python 转为 C/C++。
关于python - 如何在python中运行c代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46685356/
我是一名优秀的程序员,十分优秀!