簡體   English   中英

Google VR Java和C ++?

[英]Google VR Java and C++?

我剛剛在github(googlevr)上看到了有關此項目的開源項目,我的問題是C ++如何與Java一起工作? 我可以理解Java是用於android的東西,而C ++是用於圖形,內存和跟蹤的,但是兩種不同的編譯語言如何一起工作?

在C和C ++中,您可以創建共享庫。 每個平台的處理方式略有不同,但大致相同。

  • Windows創建一個.dll
  • Mac創建一個.dylib
  • Linux創建一個.so

這些代表可以由任何進程調用的可執行代碼。 這意味着Java代碼,matlab代碼,python代碼等可以調用以C / C ++編寫的代碼。 Java使用稱為JNI(Java本機接口)的功能來執行此操作。 眾所周知,JNI的設置和管理非常棘手,因此許多人都使用Swig之類的庫來實質上管理與JNI相關的所有內容,從而使從Java調用預編譯的C ++代碼更加容易。

此處的密鑰是“預編譯”。 在某個時候,甚至有人,您都必須將源代碼並將其編譯為dll,dylib等,並且您必須在該共享庫中設置需要使用它的代碼(在這種情況下, Java應用程序)可以看到它,以便Java應用程序啟動時可以加載共享庫並對其進行調用。

對於Java,一個考慮因素是Java代碼本質上是跨平台的。 需要針對每個平台編譯C ++代碼。 因此,當您分發Java應用程序時,需要確保您擁有一個共享庫,該共享庫可在運行該平台的任何平台上訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM