是否可以從java調用C代碼(已經生成了py Beremiz編輯器)? 我不想編輯生成的C代碼,我只是想從我的Java程序中調用它。從java中調用已經生成的C代碼
-2
A
回答
0
您可以使用JNI來做到這一點,一個很好的教程,請訪問: https://www.ibm.com/developerworks/java/tutorials/j-jni/j-jni.html
這可以讓你從Java調用C代碼。
+0
我有JNI教程,但是它們都在編寫C和Java。在我的情況下,我不需要編寫由Beremiz編輯器生成的C代碼。我只是想知道我怎麼能從java調用這個c代碼。 –
+1
您可能需要根據JNI提供的C代碼編寫一些鏈接C代碼,然後C代碼調用您自動生成的C代碼,這與@ h22建議的方式相同 – jrtapsell
1
而不是修改生成的代碼,你可以編寫一個C橋接受來自Java的調用並將它們轉發給你生成的代碼。它可以與生成的代碼一起編譯,製作單個.dll或.so庫。
JNI接口有很多特定的要求和協議。它不能用於調用在沒有JNI的情況下編寫的任意C函數。
將現有C庫集成到Java框架中時,這是一項非常常見的任務。
相關問題
- 1. 從Java調用C#代碼?
- 2. 從C代碼調用Java
- 3. 從C#調用Java代碼#
- 4. 生成調用圖的C++代碼
- 5. 使用SWIG生成的JNI可以從C代碼中調用java方法嗎?
- 6. 從* .slx生成C++代碼
- 7. 從C#生成XML代碼
- 8. 從C#代碼生成彙編代碼?
- 9. 調用「C++」類成員從「C」代碼
- 10. 在Eclipse中從XML生成Java代碼
- 11. 如何從代碼調用生成器?
- 12. 從本地C/C++代碼調用JAVA類成員
- 13. Java代碼生成
- 14. 從wsdl + xsd生成C#代理調用
- 15. 想要使用JavaCPP從Java代碼中調用C++代碼?
- 16. 在Java中引用生成的代碼
- 17. C#代碼生成
- 18. C++代碼生成
- 19. C# - > Java代碼生成器
- 20. 從使用Python實現的matlab代碼生成C代碼Scipy
- 21. JPA的Java代碼生成
- 22. 從C++調用c代碼
- 23. 生成的代碼 - 域類的代碼,因爲它可能已經由工具生成
- 24. 從java代碼自動生成UML
- 25. antlr - 從java源代碼生成語法
- 26. 從java文檔生成代碼
- 27. 從java源文件代碼生成
- 28. CFG生成的C#代碼
- 29. C#SQLMetal生成的代碼
- 30. 調用從C++代碼的Java方法,而不經過任何的JavaVM
是的,你需要把你的C代碼轉換成一個DLL,然後使用JNI。如果您將C++用作「更好的C」,會更好 - 使用C++編譯器創建該共享庫。 – duffymo
你可以寫一個make文件併爲你的c代碼創建一個可執行文件(靜態庫),然後從java程序中調用它。 –
我正在使用JNI第一次可以請你一點一點地解釋一下。我有JNI教程,但是他們正在編寫C和Java。在我的情況下,我不需要編寫由Beremiz編輯器生成的C代碼。 –