본문 바로가기

분류 전체보기77

JNI로 개발하기 (4. C 컴파일 및 자바로 dll실행하기) 개발 순서 1. dll에 있는 함수를 쓰기 위해서 dll의 함수와 똑같은 함수를 자바 코드로 작성하고 dll에 있는 내용을 쓰는식으로 해야한다. *그래서 자바 코드 작성부터 시작한다. (dll을 불러오는데 자바 코드를 왜 작성하는지 이해를 못해서 한참 책을 몇번을 읽었는지 모른다) 2. 자바 코드 작성 후 자바 헤더를 만들어준다. 3. c에 내가 만든 자바 헤더를 첨부하고 dll을 만들어준다. 4. 자바에서 dll을 읽어준다. 6. C 컴파일 하기 일반 컴파일과는 다르게 #include 라는 헤더를 쓰고 있기 때문에 자바에 있는 파일을 연결해서 컴파일해야한다. 아니면 헤더가 뭔지 모른다고 컴파일이 안되기 때문이다. gcc 컴파일 실행하기 이 책은 리눅스 책이기 때문에 인터넷을 뒤져 저렇게 쓰는거라고 했다.. 2021. 3. 17.
JNI로 개발하기 (3. 자바헤더파일 및 C 파일) 개발 순서 1. dll에 있는 함수를 쓰기 위해서 dll의 함수와 똑같은 함수를 자바 코드로 작성하고 dll에 있는 내용을 쓰는식으로 해야한다. *그래서 자바 코드 작성부터 시작한다. (dll을 불러오는데 자바 코드를 왜 작성하는지 이해를 못해서 한참 책을 몇번을 읽었는지 모른다) 2. 자바 코드 작성 후 자바 헤더를 만들어준다. 3. c에 내가 만든 자바 헤더를 첨부하고 dll을 만들어준다. 4. 자바에서 dll을 읽어준다. 4. 자바 헤더파일 자바 헤더파일을 한번 열어보자 /* DO NOT EDIT THIS FILE - it is machine generated */ #include /* Header for class jnitest_HelloWorld */ #ifndef _Included_jnites.. 2021. 3. 17.
JNI로 개발하기 (2. 예제 코드 작성해보자_자바부분 [수정업]) java에서 dll을 부르는 방법은 크게 3가지가 있다. JNI, JNA, SWIG 보통 많이 쓰는게 JNI이고, 친구회사에서 SWIG를 쓴다고도 들었다. JNA는 또한 코드가 간편해서 쓰기편하다. 하지만 JNI는 C/C++이 모두 되지만, JNA는 C++에서 문제가 있는거 같다. C로 파일을 만든다면 JNA로 개발하는 것도 좋을것같다. 저는 C++ 파일을 불러와 써야하기 때문에 JNI로 개발을 시작하게 되었습니다. 개발 순서 1. dll에 있는 함수를 쓰기 위해서 dll의 함수와 똑같은 함수를 자바 코드로 작성하고 dll에 있는 내용을 쓰는식으로 해야한다. *그래서 자바 코드 작성부터 시작한다. (dll을 불러오는데 자바 코드를 왜 작성하는지 이해를 못해서 한참 책을 몇번을 읽었는지 모른다) 2. 자바.. 2021. 3. 17.
JNI로 개발하기 (1.MinGW 설치 "the file has been downloaded incorrectly") 바람처럼 배달 어플을 만들면서 다양한 업체의 코드를 받아서 개발을 몇번 하였다. 카드 결제 대행 회사와 푸드테크 포스 프로그램 모두 참 그때 당시엔 어려웠지만, 지금 이걸 하려고하니 다른건 되게 쉬웠구나 싶었다. 이번에 개발을 해야하는 회사에서는 dll파일 하나 주고 개발하랍신다. 우선 나는 C, C++로 개발해본적이 없고 dll이 뭔지도 몰랐기에 책 하나 사서 열심히 예제를 따라해보았다. 1. 필요한 프로그램 설치(MinGW) 윈도우 64로 jni 예제를 따라하였고 c를 컴파일하기 위한 프로그램이 필요했다. MinGW를 다운로드 받았으며 , MinGW는 32비트 64비트가 따로있으니 아무생각 없이 32비트로 다 만들고 다시 64비트로 만드는 수고스러운일을 하지 않도록 하세요. MinGW 32비트 링크 .. 2021. 3. 17.