System.loadLibrary("aaa")는 aaa.dll을 로드하는 거고
이런식으로 c++ 사용도 가능하고 class도 사용 가능하고 머 좋다.
저기서의 파라미터는 이걸 실행시킨 객체의 인자(jobject obj) 일것이다 maybe~
visualc++ 6.0 사용
new project dll
aaa.h aaa.c 추가
setting 에서 multi thread dll (C/C++ -code generation)로 바꾸고
link 에 object/lib 전부 삭제
build!
(주의 : jdk의 include 를 추가해주어야함 option 에서~
1. 탐색기에서 HelloWorld.c 가 저장된 폴더로 이동한다. 2. 시작메뉴 à 실행 에서 command라고 치면 현재 폴더에서 도스 명령을 수행할 수 있다. (도스창이 떴다가 그냥 사라진다면… 알아서들 해결하시길) 3. cl 이라고 쳐 본다. “mspdb60.dll 파일을 찾을 수 없습니다.(프로그램 시작 오류)” 는 에러창이 뜬다면 그 파일(아마 vb98 밑에 있을 것이다)을 복사해서 현재 폴더에 붙인다.(편법이다) 4. path에 비쥬얼 C++ 의 bin 폴더를 추가시킨다. (예: path=“C:\Program Files\Micros- oft Visual Studio\VC98\Bin”) 5. 다음과 같이 컴파일을 수행한다. cl -Ic:\Progra~1\Micros~2\VC98\include -Ic:\jdk1.3\include -Ic:\jdk1.3\include\win32 -MD -LD HelloJNI.cpp -FeHelloJNI.dll 물론 비쥬얼 C++의 인클루드 서브폴더가 “C:\Program Files\Microsoft Visual Studio\VC98\ include” 이고 JDK가 “C:\jdk1.3” 에 설치되어 있다고 가정했다. 성공하면 HelloWorld.dll 파일이 현재 폴더에 생성될 것이고 실패하면 안 생성될 것이다. 6(5가 실패한 경우). msvcrt.lib 가 없다고 나오면 msvcrt.lib 를 현재 폴더에 복사하고, oldnames.lib 가 없다고 나오면oldnames.lib 를 현재 폴더에 복사하고, kernel32.lib 가 없다고 나오면 kernel32.lib 를 현재 폴더에 복사한다.(물론 편법이다) 그리고 5를 반복한다. 6. 안 되면 될 때까지 하라는 무대뽀 정신을 가진 당신은 성공을 했을 것이다. 이제 남은 것은 오로지 하나, java HelloWorld라고 쳐 보자. 물론 JDK의 bin 서브폴더가 path에 지정되어 있어야 하겠다.