2013-08-27 36 views
0

假設有一個用Java編寫的應用程序啓動器。是否可以編寫一個將Java類提供給JVM的C/C++程序?

啓動程序,然後運行這個C/C++類進紙器。(排序引導的?)

所有你需要運行「假設應用1」的Java類加載。 (App1是一個純Java程序)

現在啓動器啓動App1。

這種情況可能嗎?

編輯 我已經看到了這個網頁http://www.componio.com/products/jinstaller/jarcryp/
他們聲稱,他們可以與一些本地庫加密您的罐子和旁路的loadClass()方法。
我想弄清楚,如果這是假的,或者如果可能的話,我該怎麼做?

編輯2
只是還有一件事,有人可以告訴我什麼社會指導方針我已經打破得到這個減投票?所以如果我做錯了什麼,我會學習,而不是再做同樣的事情? Thx

+0

肯定的。你可以在Java中調用這樣做的方法。然而,在命令行中啓動'java App1'可能會更簡單。 –

+0

@PeterLawrey你指的是loadClass()方法嗎?我試圖繞過這種方法。 – Ascendant

+0

你想在不調用'loadClass'的情況下加載一個類?你可以寫一個方法,做完全相同的事情,並稱之爲,但我不知道爲什麼你會想。 –

回答

1

C++代碼可以使用JNI接口加載JVM。在此之後,它可以:

  1. 查找類
  2. 調用靜態方法或創建一個給定類

這兩種方法都可以用來啓動應用1的對象。如果應用1是一個Java類具有主要方法,下面的代碼有一個例子:

http://avdongre.wordpress.com/2012/07/12/launching-jvm-from-c/

+0

完美!謝謝,這正是我所尋找的。現在我需要破解CPP代碼。 :) – Ascendant

相關問題