1. 程式人生 > >Java呼叫c/c++程式時報錯

Java呼叫c/c++程式時報錯

一、error: base operand of '->' has non-pointer type 'JNIEnv {aka _JNIEnv}'

android java 呼叫c++程式時報的錯誤,

程式碼的寫法是:

jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
                                                  jobject thiz, jstring str, jint i )
{
    return (*env)->NewStringUTF(env, "Hello from JNI !");
}

錯誤在於:

(*env)->NewStringUTF(env, "Hello from JNI !");

這一行,這是c的寫法,而我的是cpp程式,需要改寫成:

env->NewStringUTF( "Hello from JNI !");

相關推薦

Java呼叫c/c++程式時報

一、error: base operand of '->' has non-pointer type 'JNIEnv {aka _JNIEnv}' android java 呼叫c++程式時報的錯誤, 程式碼的寫法是: jstring Java_com_exam

編寫AMAZON API程式時報'MarketplaceWebService_Client'

Fatal error: Class 'MarketplaceWebService_Client' not found in C:\xampp\htdocs\sites\ListOrderLocal.php on line 68 這是因為程式找不到MarketplaceWebServiceOrders\cl

java內部類例項化時報的問題

如果有一個類的結構如下: public class Data {   public class Item {   } }; 如果需要例項化Item類時,可能會寫成:Data.Item item = new Data.Item(); 但是編譯器就會出現一個錯誤:'com

java中使用javac編譯時報:未報告的異常 java.net.MalformedURLException;必須對其進行捕捉或宣告以便丟擲

AndyMacBookPro:push andy$ javac push.java push.java:7: 未報告的異常 java.net.MalformedURLException;必須對其進行捕捉或宣告以便丟擲         url = new URL(urlStr

eclipse中執行程式時報'A JNI error has occurred,please check your installation and try again'

 第一次執行testNG,發現報錯:Error: A JNI error has occurred . Please check your installation and try again. 2.建立專案的時候,選擇JRE時要選擇第二個,選擇第一個就會報這樣的錯

java呼叫外部exe程式並傳參

其實很簡單, 首先編寫一個命令command, 如g++編譯.c程式的命令為: g++ -o test.exe test.c Runtime.getRuntime()得到當前執行是環境, 然後呼叫它的exec(cmd)方法, 該方法返回一個程序process 檢視p

程式在執行程式時報,問題事件名稱:CLR20r3

程式原先好好的,突然開始報錯,而且重新編譯後無法恢復:錯誤如圖 在網上查詢後問題解決,但是原因依然不太確定; 解決方案如下: 1、下載dotNetFx40_Full_x86_x64.exe(https://www.microsoft.com/zh-cn/download/d

sqlplus呼叫sql指令碼執行時報SP2-0734: unknown command beginning的解決方法

今天在用SHELL指令碼調sql檔案執行sql語句的時候,發現語句中某個欄位為lua表示式的結構,該結構在插入時會導致報錯如下,並且插入失敗: SP2-0734: unknown command beginning "local mBas..." - rest of lin

使用appium在android7.0真機上測試程式時報command failed shell "ps 'uiautomator'"的解決方式

使用appium在android7.0真機上測試程式時報錯command failed shell “ps ‘uiautomator’”的解決方式 appium目前最新的windows版本是1.4.16,在android7.0真機上測試程式時會報錯:comma

Java的Excel檔案匯入時報

Invalid header signature; read 0x6EDBFCD509B7FD6C, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document 解決方法:

java呼叫第三方應用程式

1. java呼叫第三方應用使用 ProcessBuilder 物件來呼叫    例子位置: &

java呼叫C程式

案例如下: package com.laction.so linux:/mnt/zddom/com/laction/so -rw-r--r--. 1 root root 922 Nov 13 14:30 HelloJNI.class -rw-r--r--. 1 root root 463 Nov 13 14:

C#實戰023:解決新增xxx.dll的引用時報,請確保xxx是有效的程式集或者COM元件

     今天在引入第三方dll時彈出錯誤提示【未能新增對“xxx.dll”的引用。請確保此檔案可訪問並且是一個有效的程式集或者COM元件】,正常情況下在解決方案中新增引用:右鍵滑鼠–>新增引用–>瀏覽–>選擇xxx.dll檔案,點選“確定”,然後再在

C/C++ 程式呼叫 Java 程式碼

JNI允許您從本機程式碼內呼叫 Java 類方法。 要做到這一點,通常必須使用 Invocation API 在本機程式碼內建立和初始化一個 JVM。 下列是您可能決定從 C/C++ 程式碼呼叫Java 程式碼的典型情況:     1.希望實現的這部分程式碼是平臺無關的,它

Android開發 通過JNI實現JAVAC/C++程式間的呼叫和回撥

       在一些Android應用的開發中,需要通過JNI和 Android NDK工具實現JAVA和C/C++之間的相互呼叫。        Java Native Interface (JNI)標準是java平臺的一部分,它允許Java程式碼和其他語言寫的程式碼進行

JNI中在被呼叫C/C++函式中如何訪問Java程式中的類,並編寫應用例項

1、在javah工具生成的C/C++函式宣告中的JNIEnv型別引數和jobject型別引數的介紹 JNIEXPORT void JNICALL Java_jni_TestNative_sayhell

Java呼叫C語言簡單小程式

1.寫Java程式 public class TestNativeMethod { //宣告一個native方法,接收兩個int型數字,返回最大值。Java中只寫宣告,待會兒用C程式寫具體實現。 public native int max(in

C#VS工程報:CS0234 名稱空間“Microsoft.VisualStudio”中不存在型別或名稱空間名“VCProjectEngine(是否缺少程式集引用)

問題截圖: 大多數的C#程式都是以using使用名稱空間開頭,但是我們使用名稱空間的同事也必須包含其程式集,比如大部分的名稱空間“XXXX”中不存在型別或名稱空間名“XXXXX”錯誤都是因為沒有在引用裡面新增其程式集,那麼怎麼新增程式集呢? 一、“檢視”----->“解決方案

Eclipse直接完成JAVA呼叫C/C++ (Eclipse上使用CDT結合MinGW)

    原文地址:http://www.blogjava.net/orangewhy/archive/2007/05/24/119645.html     網上都有很多在windows平臺下JAVA呼叫C/C++方法的介紹說明。但是,在此過程中

COMP/2013作業代做、代寫software留學生作業、代做Python、C/C++程式作業、代寫Java/C++實驗設計作業

COMP/2013作業代做、代寫software留學生作業、代做Python、C/C++程式作業、代寫Java/C++實驗設計作業COMP/2013 (Lab 04 - 2018)1LAB 4: ADDING UNIT TESTS, WORKING WITH BUILD SCRIPTSAims: Add so