- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록JNI/NDK (5)
드럼치는 프로그래머
이전 글에서는 JNI 를 java 측에서 JNI 를 이용해서 c/c++ 함수를 호출하는 방법을 알아보았다. 이번에는 c/c++ library 측에서 JNI를 이용하여 java 의 함수를 호출하는 방법을 알아보도록 하자. 근본적으로 JNI 를 이용해서 상대의 함수를 이용한다는 개념은 같다. 차이는 jni 가 jvm 에 있는 녀석이라서 java 에서 사용할 때는 크게 신경쓸 것이 c/c++ 쪽에서는 JNI 를 이용하기 위해 JNIEnv* 의 reference 를 넘겨주는 작업이 필요하다. 그럼 이제부터 c/c++ 에서 java 의 함수를 이용하는 방법을 알아보자. C/C++ library -> Java classjava 의 class 를 이용하려면 JVM 이 있어야 한다. 그러므로 c/c++ 에서 java ..
안드로이드때문에 JNI 를 다시 보게 되었다. ^^ 여하튼 그래서 책을 보면서 이해한 내용을 그림으로 정리했다. 코드는 나중에 정리하기로 하고, 여기서는 대략적인 개념만 익히도록 하자. 사실 이 곳의 내용은 그저 내 생각을 정리한 것이라 정확하지 않은 면이 있다.(죄송 ㅜ.ㅜ) JNI에 대한 좀 더 정확하고 상세한 내용은 ref. 3 을 참조하도록 하자. 아래 그림은 JNI 를 사용하는 방법은 시작 프로그램에 따라 2가지가 있다. Java class -> JNI -> C/C++ library : java 에서 native function 을 호출하는 경우 C/C++ library -> JNI -> Java class : c/c++ program에서 java 의 함수를 이용하는 경우 이 중에서, 아래 글은..
오늘은 "JNI Local Reference Changes in ICS" 를 주제로 알아보겠습니다. 이 글은 http://android-developers.blogspot.com/2011/11/jni-local-reference-changes-in-ics.html 내용 번역본입니다. ( 이해가 쉽도록 의역을 많이 넣었습니다. 모호한 내용은 원문을 확인하세요. ) JNI Local Reference Changes in ICS당신이 native code 를 쓰는 것이 아닌 native 함수만 사용한다면 그만 읽어도 됩니다. 하지만, 당신이 JNI 를 이용해서 native code 를 사용한다면, 당신은 이것을 읽는 것이 큰 도움이 될 것입니다. What's changing, and why? 모든 개발자들은 ..
프로젝트를 진행하다보면 여러 폴더에 나뉘어 있는 라이브러리를 링크해야 할 일이 생기는데, NDK 샘플이나 여타의 코드를 보면 전부 한 폴더에 있는 라이브러리만 링크하고 있더군요. 저나 제 주변에 NDK나 리눅스 프로그래밍에 대해서 아는 사람이 없었기 때문에 한참을 헤매고 나서야 방법을 알게 되었습니다. 엄청나게 간단한데 구글링으로도 도저히 찾을수가 없더라구요 ㅠ_ㅠ 방법은 아래처럼 LOCAL_LDLIBS 에 원하는 폴더를 모두 적어주면 됩니다. # libadd.so 는 LibTest1/libs/armeabi 에 # libsubtract.so 는 LibTest2/libs/armeabi 에 있다고 가정합니다. LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../....
출처 : http://decsers.tistory.com/27 Android NDK Overview Introduction: 소개: The Android NDK is a set of tools that allows Android application developers to embed native machine code compiled from C and/or C++ source files into their application packages. Android NDK 는 안드로이드 어플 개발자들이 C 혹은 C++ 소스를 어플의 패키지로 컴파일하여 포함한 네이티브 코드 라이브러리를 사용할 수 있게 해주는 도구들의 모음입니다. IMPORTANT: The Android NDK can only be used ..