2017-08-07 70 views
0

我一直在使用RedHawk一段時間,並且新組件項目嚮導始終創建一個構建到可執行文件的項目。現在,當我創建新的組件項目時,它將構建一個共享庫。我可以創建一個新項目,生成沒有任何更改的代碼(無端口,屬性等),並構建一個共享庫。我錯過了一些默認以共享庫的形式構建組件的新選項嗎?在創建或構建時,我無法找到選擇共享庫文件與可執行文件的選項。我如何選擇可執行文件?我最近升級到RedHawk 2.1,並且一直主要使用設備,而新設備項目仍然生成可執行文件。自更新以來,我可能沒有嘗試過新的組件項目。這是2.1中的新東西嗎?創建爲共享庫而非可執行文件的新組件項目

回答

2

共享庫輸出是紅鷹2.1的默認,並提供「組件模型和BULKIO的顯着增強,以支持高性能I/O」通過新的共享地址空間模型。有關詳細信息,請參閱redhawksdr.org網站上的發佈公告或查看組件型號文檔here

+0

對不起。我在2.1發行說明中沒有注意到這一點,或者瞭解組件模型文檔。它很好地解釋了這一點,功能和我預期的一樣。我認爲這個選項非常好,不用擔心它是默認的,但正如文檔所示,我認爲我仍然希望某些組件能夠在自己的內存空間中運行。該文件說,即使該組件是一個庫,它也可以在自己的內存空間中運行,但是我沒有看到這個選項是如何選擇的,我在手冊中沒有看到這一點。如何選擇在自己的空間中運行組件? –

+0

如果你想回到舊的可執行模式,看起來你只需要修改spd文件並將代碼類型=「SharedLibrary」更改爲代碼type =「Executable」,然後修復本地文件和入口點,以便它們指向可執行文件名稱而不是共享對象(例如,從兩個文件中刪除.so)。然後您需要重新生成以創建新的構建文件。 –

0

要啓動一個共享庫成分作爲其自身的進程,在Python沙箱使用發射功能,並且共享集=假。沒有API可以在域/波形的上下文中將共享庫組件作爲自己的進程啓動。

ComponentHost中的線程(其中託管共享庫組件)被重命名以匹配在該ComponentHost上運行的任何組件。

相關問題