Невозможно вызвать java -classpath jna.jar

#java #c #jna

#java #c #jna

Вопрос:

Я использовал jna (java native access ) для компиляции и запуска исходного кода C в среде cmd.
Во-первых, я создал два файла cSource.c и Example.java и поместите их в диск C.Моя версия jdk — 7 (64-битная), а windows 7 — 64-битная

 //cSource.c
#include <stdio.h>
void printPointOf(int n) {
    //printf("%pn",amp;n);
}
  

и

 //Example.java
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;

public class Example {
    public interface CSource extends Library {
        public void printPointOf(int n);
    }
    static public void main(String argv[]) {
        CSource cSrc = (CSource) Native.loadLibrary("csource", CSource.class);
        int n = 1;
        cSrc.printPointOf(n);
    }
}
  

Во-вторых, я открыл cmd, затем скомпилировал и запустил
Шаг 0. cd c:/
Шаг 1. gcc -o libcsourc.dylib -shared cSource.c
Шаг 2. javac -classpath jna.jar Example.java
Шаг 3. java -classpath jna.jar:. Example

три первых шага были успешными, но на шаге 3 мой cmd обнаружил ошибку:

 Could not find or load main class
  

Как я могу устранить вышеуказанную ошибку? Является ли моя команда на шаге 3 неправильной?
Я ознакомился со статьей здесь: запуск C на Java с помощью JNA

Комментарии:

1. Не устраняет ошибку, но (void *)amp;n для адресов печати с %p

2. Вы пробовали ‘java -classpath jna.jar Пример»?

3. ваша printPointOf(...) функция выводит только адрес локальной переменной или нет?

4. @m88: cmd по-прежнему отображает: «Не удалось найти или загрузить основной класс».

5. у вас система Windows? ‘gcc -o libcsources.dylib -общий cSource.c (если ваша ОС Windows, измените .dylib на .dll)’