java 生成jni_Javah生成JNI頭文件

在eclipse中建一項目,建一class

1?packageesmart.colfile.parse;2?3?publicclassTestHello?{4?static{5?System.loadLibrary("TestHello");6?}7?8?publicstaticnativevoidhello(String?msg);9?10?publicstaticvoidmain(String[]?args)?{11?12?hello("Hello,Kimm!");13?14?}15?}

F5刷新一下eclipse項目,讓他編譯一下(其實保存時也就編譯了)

找到項目類存放目錄如?G:\work\eclipse\test\bin

找到javah.exe ,可以配置到環境變量 ,方便調用

在命令行中輸入

cd G:\work\eclipse\test\bin

cd g:

E:\tools\Java\jdk1.6.0_11\bin\javah.exe -classpath . -jni esmart.colfile.parse.TestHello

執行完成后在項目bin目錄下就生成一個?esmart_colfile_parse_TestHello.h?文件,把這個文件給c++項目引用,并實現其中的方法

VS2008中 工具 - 選項 - 項目和解決方案 - VC++目錄 要增加?E:\tools\Java\jdk1.6.0_11\include\win32?和?E:\tools\Java\jdk1.6.0_11\include 具體目錄根據本地JDK安裝情況

eclipse 項目右鍵 properties 里面 設置 java build path 中的 native library location 到 VC項目的發布目錄

VC中

打開StdAfx.h文件,再最后面添加:

#include

#include "javah生成的.h"

cpp文件中實現 .h 中的方法

VC++項目現在基本都是UNICODE

1?JNIEXPORTvoidJNICALL?Java_esmart_colfile_parse_TestHello_hello(JNIEnv*env,?jclass?obj,?jstring?jMsg?,?jint?)2?{3?4?//const?char?*strMsgPtr?=?env->GetStringUTFChars(?jMsg?,?0);5?6?constWCHAR*strMsgPtr=(WCHAR*)env->GetStringChars(jMsg?,0);7?8?MessageBox(0,?strMsgPtr,L"Message?box?from?VC++",0);9?10?env->ReleaseStringChars(jMsg,?(jchar*)strMsgPtr);11?//env->ReleaseStringUTFChars(?jMsg,?strMsgPtr);12?13?}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281869.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281869.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281869.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IBM 的大型機 z Systems 引入 Go 語言

據 cbronline 報道,IBM 正把 Go 語言運用到旗下的大型機上。 IBM 將開源的 Go 語言引入到 z Systems 大型機后,可以給用戶多一個的選擇,即在大型機上使用 Linux 或基于 Go 的應用,同時也使大型機更加靈活。Go 語言在高并發的網絡應…

WPF-10 邏輯樹和可視化樹

我們在WPF-03 資源之Resources結尾中介紹邏輯樹和可視化樹的基本概念,我們這節來介紹這兩棵樹邏輯樹(Logical Tree)邏輯樹是由每個控件的節點組成,本質上就是XAML文件中的UI元素,我們可以通過LogicalTreeHelper類提供的…

洛谷P4364 [九省聯考2018]IIIDX(線段樹)

傳送門 題解看得……很……迷? 因為取完一個數后,它的子樹中只能取權值小于等于它的數。我們先把權值從大到小排序,然后記$a_i$為他左邊(包括自己)所有取完他還能取的數的個數。那么當取完一個點$x$的數之后&#xff0…

國產車崛起粉碎德日工業神話

由于二戰戰敗,德國一大批頂尖人才被美蘇瓜分,戰敗國地位和人才斷層導致德國工業基本是第二次工業革命的產物,專精于機械、化工等傳統行業,并有巴斯夫、拜爾、大眾、戴姆勒、寶馬等一批世界級企業。不過,德國世界級的IT…

java hibernate 分頁查詢_4 Hibernate HQL查詢,分頁查詢

/*** HQL查詢的一個例子*/public static void hql(){Session s null;try{s HibernateUtil.getSeesion();//final String hql "from User as u where u.name?";final String hql "from User as u where u.name:name";final Query query s.createQuery…

Linux -sed

sed ,查找sed -n /root/p passwd #列出passwd中有root的行 sed -nr /ot/p passwd #sed -r grep -E 都是進行脫意 sed -nr /0{2}/p passwd #匹配兩次o的 sed -nr /root|bus/p passwd #匹配root 或者bus的 sed -n 2p passwd # 查找指定的行sed -n 2,5p passwd # 查找…

h5 端圖片上傳-模擬多張上傳

1、由于后端的限制,上傳圖片到服務器只能的一張一張傳2、顯示圖片預覽是本地的圖片3、根據服務器返回的結果拿到相應的路徑保存到提交評論的接口中4、刪除的時候,需要刪除對應的路徑,不要把刪除的提交到評論的接口中 A、comment-detail.js va…

node安裝問題

1.最好安裝到默認路徑,手賤安到了D盤,升級npm各種出錯。 明明升級成功,查看版本時,確顯示依然是老的版本。 原因:升級的是C盤的node_modules中的npm,執行時確是D盤node自帶的npm,不知道為啥。。…

全新升級的AOP框架Dora.Interception[匯總,共6篇]

多年之前利用IL Emit寫了一個名為Dora.Interception的AOP框架。前幾天利用Roslyn的Source Generator對自己為公司寫的一個GraphQL框架進行改造,性能得到顯著的提高,覺得類似的機制同樣可以用在AOP框架上,實驗證明這樣的實現方式不僅僅極大地改…

java string轉decimal_java中string轉bigdecimal的例子

小編知道在java中數據類型非常 的嚴格了,我們如果一個地方不小心就會導致應用出問題了,今天 小編就在string 轉BigDecimal上碰到了一些問題,下面整理了幾個例子大家一起來看看。例子1,string 轉BigDecimalpublic class Test{public static vo…

通過url來設置log4j的記錄級別

2019獨角獸企業重金招聘Python工程師標準>>> 直接看代碼。 import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.Level; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotati…

通過用戶模型,對數據庫進行增刪改查操作

增加:user db.session.add(user)db.session.commit() #增加 user User(username JACKSON,password0328 ) db.session.add(user) db.session.commit() 查詢:User.query.filter(User.username mis1114).first() #查詢 userUser.query.filter(User.usern…

Android OpenGL ES(七)----理解紋理與紋理過濾

1.理解紋理 OpenGL中的紋理能夠用來表示圖像。照片,甚至由一個數學算法生成的分形數據。每一個二維的紋理都由很多小的紋理元素組成。它們是小塊的數據,類似于我們前面討論過的片段和像素。要使用紋理,最經常使用的方式是直接從一個圖像文件載…

WPF 基礎控件之托盤

WPF 基礎控件之托盤控件名:NotifyIcon作者: WPFDevelopersOrg - 吳鋒|驚鏵原文鏈接: https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40。Visual Studio 2022。項目使用 MIT 開源許可協議。新建NotifyIcon自定義…

java 匿名 異常_JAVA類(內部類、匿名內部類、異常、自定義異常)

內部類package AA;public class類 {int de123;StringBuffer deenewStringBuffer();public class成員內部類{public voidff() {System.out.println("這是成員內部類方法");}}/*1.可以訪問外部類所有的成員,包括被聲明為私有(private)的;2.可以使…

ASP.NET 多環境下配置文件web.config的靈活配置---轉

注意:本功能在.Net Core中已經不可用,暫時需手動修改web.config中的信息,或者將其設置在appsettings.XXX.json中,然后再使用web.config中的環境變量來制定使用的具體appsettings文件。 轉自:https://www.cnblogs.com/h…

英語之各類人群

工作狂:workaholic 月光族:moonlight group 電燈泡:third wheel 菜鳥:newbie 夜貓子:night owl 路癡:somebody has no sense of derection 宅男宅女:homebody 時尚的潮人:trend sett…

Wget CVE-2014-4877:FTP 符號鏈接任意文件系統訪問

Wget 爆出 CVE-2014-4877 漏洞:FTP 符號鏈接任意文件系統訪問。 Package: wgetVersion: 1.15-1Severity: important Upstream fix: http://git.savannah.gnu.org/cgit/wget.git/commit/?id18b0979357ed7dc4e11d4f2b1d7e0f5932d82aa7 References&#xf…

JavaScript 學習提升

javascript 技能提升 理解閉包 閉包,官方對閉包的解釋是:一個擁有許多變量和綁定了這些變量的環境的表達式(通常是一個函數),因而這些變量也是該表達式的一部分。閉包的特點:1. 作為一個函數變量的一個引用…

Uranium UI Kit

Uranium UI Kit控件名:Uranium UI Ki作者:enisn原文鏈接: https://github.com/enisn/UraniumUI項目使用 Apache-2.0 開源許可協議。Uranium 是用于 .NET MAUI 的免費和開源 UI 工具包。它提供了一組控件和實用程序來構建現代應用程序。它建…