我正在尝试加快我的 C 程序的速度,以便更快地输出数据。
目前我正在用来printf()向外界提供一些数据。它是连续的数据流,因此我无法使用 return(data)。
我如何使用write()或fwrite()将数据提供给console而不是文件?
总的来说,我的设置由用 C 编写的程序组成,其输出发送到 python 脚本,在其中进一步处理数据。我形成一个管道:
./program_in_c | script_in_python
Run Code Online (Sandbox Code Playgroud)
通过使用更多处理器核心,这为 Raspberry Pi 带来了额外的好处。
我试图在使用SWIG的python脚本中使用.c程序.首先,我安装了SWIG并尝试了教程swig网页中的简单示例.
我正在使用Raspberry Pi和Raspbian GNU/Linux 9.4(拉伸)
这就是我所做的:
1 swig -python example.i.很好,这创建了两个新文件:'example.py'和'example_wrap.c'2
.gcc -fpic -I/usr/include/python2.7 -c example_wrap.c- 这会创建'example_wrap.o'文件
3.在Geany中编译example.c; 这给了'example.o'文件
4. gcc -shared example.o example_wrap.o -o example.so- 现在创建了一个新文件'example.so'.
是时候尝试了:
python
Run Code Online (Sandbox Code Playgroud)
我在这里使用Python 2.7.13
>>>import example
Run Code Online (Sandbox Code Playgroud)
这给了追溯:
File "<stdin>", line 1, in <module>
ImportError: dynamic module does not define init function (initexample)
Run Code Online (Sandbox Code Playgroud)
如何排除这个问题?
我正在尝试从 python 脚本(使用 PyQt4 GUI 和 matplotlib)创建一个 .exe 文件。我将 cx_Freeze 5.1.1 版用于 64 位 Windows,并具有以下功能setup.py:
import cx_Freeze
import sys
import matplotlib
base = "Win32GUI"
includes = ["atexit"]
buildOptions = dict(
#create_shared_zip=False,
#append_script_to_exe=True,
includes=includes
)
executables = [cx_Freeze.Executable(script = "main.py", base = base)] # icon = "chart32.jpg")]
cx_Freeze.setup(
name= "1ChPlotGUI",
options = dict(build_exe=buildOptions), # {"build_exe": {"packages": ["matplotlib"], "include_files":["chart32.jpg"]}},
version = "0.01",
description = "1 Channel Plotting app with GUI",
executables = executables
)
Run Code Online (Sandbox Code Playgroud)
跑完后
python setup.py build
Run Code Online (Sandbox Code Playgroud)
在 cmd …