python匯入數學 嵌入式Python,匯入數學

2021-10-19 02:31:39 字數 1975 閱讀 6981

首先我在macosx10.12.6上。在

我想在我的c應用程式中嵌入乙個python環境。

我使用位於的github python專案,並設法用它的配置檔案和命令列編譯它:env linkforshared="-wl,-stack_size,1000000 -framework corefoundation"

ldflags="-wl,-syslibroot,$sdk -arch i386"

cflags="-os -isysroot $sdk -arch i386"

./configure macosx_deployment_target=10.6 --disable-shared --prefix=$python_path --exec-prefix=$python_path -build=i386-darwin

make

make altinstall

它給了我乙個32位的libpython.a,然後我重做了64位的libpython.a,並用

^$在我的xcode專案中,在.xconfig檔案上,我匯入lib和headers檔案,其中包括:other_ldflags = $(inherited) -lpython32-64;

user_header_search_paths = $(inherited) $(libs)/cpython35/include

library_search_paths = $(inherited) $(libs)/cpython35/lib;

一切都找到了,我的專案編譯,沒有問題。

然後在python.c檔案中(我減少了本文的路徑,這就是為什麼「…」):wchar_t *stdprogramname = l".../libs/cpython35/bin/python3.5";

py_setprogramname(stdprogramname);

wchar_t *stdpythonhome = l".../libs/cpython35";

py_setpythonhome(stdpythonhome);

wchar_t *stdlib = l".../libs/cpython35/lib/python3.5.zip:.../libs/cpython35/lib/python3.5:.../libs/cpython35/lib/python3.5/plat-darwin:.../libs/cpython35/lib/python3.5/lib-dynload:.../libs/cpython35/lib/python3.5/site-packages";

py_setpath(stdlib);

py_initialize();

// run something

pyrun_******string("import sys; print(sys.path)");

//to this line it's work fine, all path are correcte but then

pyrun_******string("import math;");

py_finalize();

數學庫的匯入不起作用,它給了我:traceback (most recent call last):

file "", line 1, in

importerror: dlopen(.../libs/cpython35/lib/python3.5/lib-dynload/math.cpython-35m-darwin.so, 2): symbol not found: _pyexc_memoryerror

referenced from: .../libs/cpython35/lib/python3.5/lib-dynload/math.cpython-35m-darwin.so

expected in: flat namespace

in .../libs/cpython35/lib/python3.5/lib-dynload/math.cpython-35m-darwin.so

我有點困在這一點上尋找解決這個進口!!!在

初識嵌入式 嵌入式開發概述

1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...

如何學習嵌入式 嵌入式如何入門?

學習嵌入式,該學習什麼基本的知識呢?嵌入式如何入門?其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序 執行緒,系統如何來分配資源的,系統如何來管理硬體的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的專案經驗...

非嵌入式與嵌入式的區別

非嵌入式是通過軟體控制硬體,軟硬體之間直接聯絡來實現要求。但是一旦硬體發生改變軟體也要改變,為了降低這種偶合度過高的問題,出現了嵌入式。嵌入式在軟體和硬體之間新增了作業系統,軟體通過控制作業系統進而控制硬體,硬體發生改變並不會導致軟體也發生改變,這為軟體開發人員節約了很多時間,並且嵌入式能在已有的硬...