2013-07-05 16 views
0

我最近做了兩件事:從串口接收數據(TinyOS和seriallisten)並從網絡攝像頭(OpenCV)捕獲幀。現在我想同時使用它們。我想根據在串口上接收到的rssi來修改視頻質量。正在調用其他程序的線程

我被告知我可以創建一個程序,創建一個可以調用我以前使用的方法的線程:camcapture.c和seriallisten.c,但我不知道如何做到這一點。

有人可以解釋它嗎?

謝謝

回答

0

你應該看看int boost線程。網上有一些關於如何創建程序的例子,並使用Boost Threads來調用類方法或非類靜態方法。

關於在C代碼中使用C++庫,this stackoverflow後可能會有所幫助。我猜想使用extern範圍算子是這裏的魔力。 C++交叉編譯器使用C來設計,所以後向轉換並非不可能。

如果您成功使用C++到C Wikipedia列出了these用於C++的多線程庫。我想這是值得去看看,看看什麼是好的。 Boost仍然是最好的IMPO。

附:你應該結賬英特爾的Threading Building Block TBB。他們很好,很簡單。 OpenCV等開源項目爲其多線程類操作使用tbb。鏈接是here

+0

謝謝,但我看到它是一個C++庫,它也可以在C中使用嗎?還是我需要更改我的代碼,以全部寫在C++? – user2553358

+0

@ user2553558您必須記住,C++沒有自己的線程庫,因此,使用C++的C線程的micrsoft/boost/POSIX實現(可能使用'extern'作用域操作符)。我想你需要「逆向工程師」來量身定製你的需求。我仍然會推薦在C中使用一些線程教程。我發誓我已經看到一些C教程正在做你在問題中提出的問題。我會用你的擔心更新我的答案。 – ha9u63ar

相關問題