python和c之間使用管道建立通訊連線

2021-05-29 10:48:11 字數 1519 閱讀 3331

1樓:匿名使用者

你這個做法呢。 表面上看沒有問題。實際執行中會因為作業系統對於標版準輸入輸出的設權計不同而出現問題。

簡單的說。在linux可能是對的。在windows下不穩定。

通常使用標準輸入輸出的情形是,都是單向的。一方輸入 ,另一方輸出。 或者是建立兩個管道,一個管道輸入,一個管道輸出。

你要想明白這是怎麼回事,可以單獨做一個管道測試。 效能與穩定性,傳輸速率都可以。 以前我試過,在linux下管道的速度與網絡卡的速度基本相當,略慢。

很穩定。 但是只限於單向傳輸。

如果你要使用python與c++通訊。 通常會有幾個辦法:

檔案方式 (簡易,穩定)

socket方式(麻煩)

單向的管道,最好在shell狀態下,用|來實現。

訊號方式(簡易)

共享記憶體方式(複雜些,主要是資料結構由c++提供,python用ctype, pack等解析。

直接將c++封裝,然後用python呼叫(建議用cython方式)python與c和c++有良好的融合性。這方面從來不是障礙。

如何實現c/c++與python的通訊

2樓:匿名使用者

如果是c++和python混編。bai

python有提供一組c api可以自己

du封zhi裝也可以直接用boost庫裡的daopython庫,用法可以參

版考boost程式庫完全開發

權指南python調c,把c編譯成lib檔案,即可呼叫import ctypes

lib =ctypes.cdll.loadlibrary(r'abc.dll')

lib.f();

程序間通訊 那就不區分語言了,有許多方法

3樓:匿名使用者

這個bai可以稱之為 兩個軟體(進du程)之間的zhi通訊。

程序間通訊主要包括管道dao, 系統ipc(包括訊息版佇列,訊號量,共享儲存

權), socket.

比如: 你可以共同訪問計算機上的一個 txt檔案也可以使用 socket 通訊

也可以使用資料庫,

等等 都能達到通訊的目的

4樓:year醫海無邊

如果是要同一個程序

可以用python 呼叫c/c++的庫

否則 就編兩個程序

然後用標準程序通訊就好。

5樓:匿名使用者

不知道你這裡說的是**間的通訊還是,網路上的,如果是**間資料的通訊,那使用pyhton的sdk 可以實現。如果是網路上的,只要協議一致就行了.

6樓:匿名使用者

一般而言,不同程式之間通訊需要使用相同的介面,如同樣的配置結構檔案或者socket通訊

7樓:馭夢啦啦

socket,只要定義好了協議,理論上可以支援任何語言見得通訊

8樓:孤行雪影

boost::python

給定全英文字串,每個單詞之間使用空格分割,我現在需要統計在該字串裡每個單詞出現的次數

word num 字元str1 bai回報 答num 阿爾法 alpha word num 字元str1 返回 權num 空間分割字串分割 新的char stringsplitoptions.removeemptyentries 陣列的長度是字。輸入一行英文句子,句子中只有英文單詞和空格,每個單詞之...

保管和看管的區別,監管,存管和託管之間的區別是什麼

保管是看好,放在最安全的地方不讓別人拿走。看管是東西就在這個地方不讓人拿走,帶走就行。保管昰檔案或是物件,看管是物件,檔案還可能昰動物或人 保管 b o gu n 解釋 1.準保 保證 2.收藏和管理,照管 3.做保管工作的人 內 4.有把握地 看管 k n gu n 解釋容 監守和管理 監管,存管...

C怎麼使用API設定按鈕visible和Enable屬性

補充 唉,是我想太多了,把問題弄複雜了。因為visible和enabled都是最基本的視窗屬性,所以實際上用基本的windows api就可以搞定了。先新增下面幾句話 dllimport user32.dll static extern bool enablewindow intptr hwnd,b...