2013-10-24 85 views
-2

我正在開發一塊硬件,我需要將數據提供給計算機。 我還沒有USB總線的知識。什麼語言讀取USB流?

我打算通過USB以不超過2MB/s的速度提供這些數據。這些數據將使用algorythm進行清理並顯示在圖形界面上。

我在python,java和C++中相當不錯。

哪種語言會更適合我的需求?

謝謝。

+9

簡答:您最瞭解的人 - 或者您打算編寫應用程序其餘部分的人。 – Hulk

回答

0

可能是C++。我知道Python和C++可以完成這項任務。可能是Java。

由於垃圾,不是Java。我發現它很糟糕,除非你有某種形式的共享。

Python的對比是引用計數的,只要你有沒有周期(這對於小型頻繁的分配,你很少這樣做 - 即建立除非收集到的那種),它會收集它,它超出範圍的時刻。你可以使用它作爲一種可靠的析構函數。你也可以讓C(++)非常容易地爲Python做繁重的工作(創建Python使用的函數非常容易,我還沒有去探索類和其他高級類型,認爲C函數需要一個處理和一些參數 - 你可以這樣做很容易)

這將讓你獲得一個原型非常快速運行,< 3蟒蛇。

C++會給你一個(潛在的)常量內存實現的優勢,爲您的「算法」,這將是巨大的性能。

這取決於你想要做什麼。我所選擇的語言是Python和C++,用於原型的Python和用於最終版本的C++,或者如果我可以將大部分Python代碼轉換爲C(因此只需很少的時間用於執行Python),將它留作Python的庫。

1

通常情況下,最好的語言是一個你最熟悉的適合您的應用程序的其它部分和/或一個。

但是,在這種情況下,存在一種複雜化。應用程序與USB設備進行交互的方式將嚴重依賴於您正在使用的操作系統平臺,這些平臺+語言提供了哪些USB庫。

其他的事情要考慮的是造成垃圾回收延遲問題是否會導致您的應用程序的問題。如果他們是,C++可能是你最好的選擇。