2013-04-05 58 views
1

我需要從我的C#Win8/WinRT應用程序調用C++庫。將CreateThread調用移植到Win8/WinRT應用程序

該庫是多線程的,並通過調用Win32 API(WaitForSingleObject等)來管理線程。我能夠找出所有這些調用的替代品(總有一個...Ex版本可用於應用程序,例如WaitForSingleObjectEx<synchapi.h>如果您正在尋找there)。

但有一個電話我無法弄清楚如何替換:這是一個電話CreateThread function。沒有等價的東西,所以看起來這樣的線程創建現在必須經歷新的API。

但我沒有深入到WinRT上的新線程模型。根據您的經驗,將移植此線程創建調用的正確方法是什麼?唯一的限制是它是一個C++庫,我構建爲「WinApp的C++庫」項目。

總結會:

在我鏈接到的我的應用程序庫,線程通過CreateThread Win32 API call創建。我需要更改這些電話才能在我的應用程序環境中工作?

+3

您可能想查看關於在新Windows Store應用程序環境中模擬舊線程API的博客文章:http://blogs.msdn.com/b/shawnhar/archive/2012/03/12/createthread-換窗口-8- metro.aspx?的PageIndex = 2 – 2013-04-05 17:39:35

回答

0

你是對的:你將無法簡單地將CreateThread替換爲新的調用。您將不得不將線程代碼移植到新的API中。

從我的經驗來看,link拉曼Sharma的發佈是一個很好的參考,如果你希望你的代碼移植更容易地把WinRT的線程池模型。我已經成功地使用了那裏發現的墊片來實現一個Win32線程仿真層,我的老的Win32相關代碼可以與之交互。

相關問題