簡體   English   中英

如何在C中運行/控制Java程序?

[英]How can I run/control a Java program from within C?

我在ASIC模擬器中運行System Verilog。 SV具有導入/導出機制,可以從SV調用C函數,並且可以在C內部調用SV函數。

我想將模擬中的實時數據(非常緩慢的流)發送到我將用Java編寫的制圖程序中。 通過模擬器/ C程序進行定期更新來調用Java的最佳方法是什么?

在這里快速瀏覽一下: http : //java.sun.com/docs/books/jni/html/invoke.html ,...

然后考慮一下:

最簡單的方法是將數據寫入文件,並編寫一個Java程序以隨着文件的增長從文件中讀取數據。 查看此答案: unix / linux的Java IO實現“ tail -f”

分別啟動它們,或使用system()從插件啟動Java程序,並將文件名作為參數傳遞。

最好的方法是讓Java程序在TCP套接字上偵聽可發送它們的C程序的更新。 讓C程序在啟動時就連接到Java程序,並且只要有更新,它就可以沿着連接的套接字傳遞它。 然后,Java程序可以獲取數據並更新需要更新的內容。

這還有一個很好的優點,即兩個程序甚至不必在同一台計算機上運行。

有一個Java本機接口 ,它允許C程序與Java對象進行交互。 但是,您需要編寫一些C代碼以將其集成到ASIC仿真器中。

暫無
暫無

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

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