<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://valley.egloos.com/rss/style/style.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>이글루스 'jni' 태그 최근글</title>
		<link>http://valley.egloos.com/tag/jni</link>
		<description>jni</description>
		<language>ko</language>
		<pubDate>Wed, 29 Feb 2012 17:27:18 +0900</pubDate>
		<generator>Egloos</generator>
		<item>
	<title><![CDATA[안드로이드 이클립스에서 ndk 빌드]]></title>
	<link>http://ssombong.egloos.com/514814</link>
	<guid>http://ssombong.egloos.com/514814</guid>
	<description>
	<![CDATA[ 
 Project -&amp;gt; Properties -&amp;gt; Builders -&amp;gt; New -&amp;gt; Program선택 후 OK   위그림 그대로 하지말고Name에는 저장하길 원하는 이름(난 Android NDK Build라고 넣었다.)Location에는 bash쉘 위치Working Directory는 빈칸Arguments는 --login -c &quot;&amp;lt;NDK 루트&amp;gt;/android-ndk-r7/ndk-build -C ${build_project}을 넣으면 된다.이제 컴파일하면 jni디렉토리안의 c/cpp 소스도 같이 컴파일 된다. 끝.	]]>
	</description>
	<pubDate>Wed, 29 Feb 2012 17:27:18 +0900</pubDate>
	<dc:creator><![CDATA[ssombong]]></dc:creator>
</item>
<item>
	<title><![CDATA[JNA(Java Native Access)]]></title>
	<link>http://javalove.egloos.com/121174</link>
	<guid>http://javalove.egloos.com/121174</guid>
	<description>
	<![CDATA[ 
  하드웨어에 접근하거나 속도 문제 때문에 자바를 사용하지 못하는 경우,   대안이 바로 JNI(Java Native Interface) 이다. JNI의 개발 단계는 아래와 같은데...  1단계 : Native Method를 선언하는 자바 클래스 작성 2단계 : 1단계에서 작성한 클래스 컴파일 3단계 : javah를 사용해서 Native Method가 사용할 헤더 파일 생성 4단계 : C언어로 Native Method 실제 구현 5단계 : C 코드와 헤더 파일을 컴파일 6단계 : 자바 프로그램 실행 일반적인 자바 프로그램 개발보다 복잡하고 다른 언어를 사용해야하는 부담이 있다.   JNA(Java Native Access)라는게 있길래 JNI 를 대체하는 기술인가 했더니만 그 이상이다. 일단 다운로드는 jna	]]>
	</description>
	<pubDate>Wed, 07 Sep 2011 15:33:19 +0900</pubDate>
	<dc:creator><![CDATA[난누구여긴어디]]></dc:creator>
</item>
<item>
	<title><![CDATA[JNI System.load() 와 System.loadLibrary() 의 차이점]]></title>
	<link>http://javalove.egloos.com/106674</link>
	<guid>http://javalove.egloos.com/106674</guid>
	<description>
	<![CDATA[ 
  JNI를 이용하여 네이티브 라이브러리를 사용하려면 System.load() 또는 System.loadLibrary() 를 사용해야 한다.  두 메소드의 차이점이 뭔가 궁금해서 API를 자세히 보니...  System.load() 는 반드시 절대경로로 지정 해야 하고, System.loadLibrary() 는 라이브러리 이름만 지정한다.  그리고 두 메소드 모두 라이브러리 파일의 확장자(.dll 또는 .so)는 제외하고 이름만 사용한다.  그리고 의존성이 있는 라이브러리는 반드시 같은 경로에 두어야 한다.   * loadLibrary 를 사용하여 XP에서 개발 완료한 프로그램을 윈도우 7 64비트에서 테스트 하니   라이브러리 로딩을 못하는 문제가 계속 발생한다. 일단 load 를 사용하여 라이브러리 로딩은	]]>
	</description>
	<pubDate>Tue, 30 Aug 2011 15:48:18 +0900</pubDate>
	<dc:creator><![CDATA[난누구여긴어디]]></dc:creator>
</item>
<item>
	<title><![CDATA[JNI Unloading]]></title>
	<link>http://aploit.egloos.com/5504361</link>
	<guid>http://aploit.egloos.com/5504361</guid>
	<description>
	<![CDATA[ 
개발하고 있는 것이 web service이다. 특정 서비스 클래스에 대한 테스트 케이스 클래스가 있는데, 보통 2가지 방법의 테스트 케이스가 모두 담겨 있다. 하나는 서비스 클래스의 메소드를 직접 호출하여 결과를 확인한다. 다른 하나는 was위에 서비스를 올리고는 http를 통해 web service로 가져와서 결과를 확인한다. 테스트의 용이함을 위해 내장 WAS로 사용할 수 있는 Jetty를 테스트 케이스에서 구동해서 web service를 올린다.  이런 경우 하나의 테스트 클래스에서 대상 서비스 클래스를 2번 로딩하게 된다. 하나는 테스트 프레임웤에서 테스트 케이스를 로딩한 클래스 로더에 의한 것이고, 다른 하나는 구동된 WAS가 웹 어플리케이션을 로딩한 클래스 로더에 의한 것이다. WAS들은 일반적으	]]>
	</description>
	<pubDate>Thu, 16 Jun 2011 19:12:15 +0900</pubDate>
	<dc:creator><![CDATA[저장소]]></dc:creator>
</item>
<item>
	<title><![CDATA[SWIG을 써서 FFMPEG을 Android에서 쓰자.]]></title>
	<link>http://muzie.egloos.com/4585245</link>
	<guid>http://muzie.egloos.com/4585245</guid>
	<description>
	<![CDATA[ 
라는 건 진짜.  역시 회사 업무.. SWIG 이라는 애는 작성된 어떤 .c 파일 혹은 .cpp 파일을 랩핑하는 c/c++ 파일을 떨구고 이를 묶는 JNI 랩퍼도 같이 떨구는 일종의 유틸리티 같은 녀석이다. JNI로 일일히 바꾸기 빡시니까 자동화툴(?)처럼 나온 거 같은데 은근 잘 동작하는 듯.  일단 내가 해봤던 건... example.c 라는 애를 swig으로 랩퍼 생성해서 shared object 만들고 이걸 Java에서 콜하는 일반적인 JNI와, libxxx.so 를 물고 도는 example.c 라는 애를 마찬가지로 swig으로 랩퍼 생성 후 shared object를 만들어 이걸 또 Java에서 콜하는.. 요약하자면 so가 so 를 무는 구조가 돌아가는 것을 확인했다.  LD_LIBRARY_PATH	]]>
	</description>
	<pubDate>Wed, 08 Jun 2011 23:32:13 +0900</pubDate>
	<dc:creator><![CDATA[기억의 조각]]></dc:creator>
</item>
<item>
	<title><![CDATA[Android NDK 설치 / JNI sample 테스트]]></title>
	<link>http://indoprince.egloos.com/2740946</link>
	<guid>http://indoprince.egloos.com/2740946</guid>
	<description>
	<![CDATA[ 
설치환경  Cygwin ( 최신버전 )  android-ndk-r5b-windows ( 최신버전 )  Cygwin 설치    Cygwin 다운 &amp;amp; 설치  반드시 Install(!!) from Internet 선택  선택  gcc-g++, make 검색 후 체크 , packages 다운 &amp;amp; 설치    NDK 설치    Android NDK 다운 &amp;amp; cygwin\home\계정명\ 에 압축해제 ( 한글/공백/문자 X )    JNI sample 테스트    Cygwin 실행    sample 빌드  $ cd android-ndk-r5b/samples/hello-jni  $ ../../ndk-build -B  Install : xxx.so 나오면 OK.    Eclipse에서 New &amp;gt; 	]]>
	</description>
	<pubDate>Wed, 13 Apr 2011 20:25:27 +0900</pubDate>
	<dc:creator><![CDATA[인도왕자의 블로그]]></dc:creator>
</item>
<item>
	<title><![CDATA[JNI 네이티브 함수에 직접등록방법 (간단한 예제 - 전체 동작 원리를 알 수 있는 예제)]]></title>
	<link>http://jaehwa.egloos.com/1045413</link>
	<guid>http://jaehwa.egloos.com/1045413</guid>
	<description>
	<![CDATA[ 
  우선 아래 소스는 안드로이드 전체 소스에서 볼 수 있는 소스코드이다. 샘플 이름데로JNI관련해서 기본적인 구조를 알 수 있는데 도움이 될 것이다. 소스 경로: development/samples/SimpleJNI 위 소스에 있는 소스를NDK에서 빌드 및 실행이 되도록 수정을 하여 만들어 보았다. (간단하게 몇몇 부분만 수정하면NDK에서도 사용할 수 있었다.)샘플의 소스는 문서와 같이 첨부한SimpleJNI.zip 파일을 참고하기 바란다. 소스의 핵심적인 부분과 설명은 하자면 다음과 같다. SimpleJNI.javapackage com.example.android.simplejni;import android.app.Activity;import android.os.Bundle;import android.wid	]]>
	</description>
	<pubDate>Mon, 25 Oct 2010 13:06:33 +0900</pubDate>
	<dc:creator><![CDATA[jaehwa]]></dc:creator>
</item>
<item>
	<title><![CDATA[간단한 JNI 사용방법  (JNI 네이티브 함수를 직접 등록하지 않는 방법을 사용하지 않을 경우)]]></title>
	<link>http://jaehwa.egloos.com/1045412</link>
	<guid>http://jaehwa.egloos.com/1045412</guid>
	<description>
	<![CDATA[ 
  샘플의 소스는 문서와 같이 첨부한 hello-jni.zip 파일을 참고하기 바란다.   NDK sample 참고소스: android-ndk-r4b/samples/hello-jni HelloJni.javapackage com.example.hellojni;import android.app.Activity;import android.widget.TextView;import android.os.Bundle;public class HelloJni extends Activity{    @Override    public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        TextView  tv =	]]>
	</description>
	<pubDate>Mon, 25 Oct 2010 13:03:41 +0900</pubDate>
	<dc:creator><![CDATA[jaehwa]]></dc:creator>
</item>
<item>
	<title><![CDATA[효율적인 JNI를 사용하기 위한 방안]]></title>
	<link>http://jaehwa.egloos.com/1029760</link>
	<guid>http://jaehwa.egloos.com/1029760</guid>
	<description>
	<![CDATA[ 
  현재 안드로이드 플랫폼에 네이티브 라이브러리를 포팅해보고 있다.  그러면서 팀내에 JNI 사용에 관련된 개선을 위해 안드로이드 전체 소스를 보면서 JNI을 어떻게 사용한지 보고 따라하면서 개선을 해보았다. 그러면서 우연히 인사이드 안드로이드 책을 보면서 공감하며 다시한번 그내용을 정리해보았다. - 재화 2010.10.22  1.     기본적인 JNI 사용하는 방법 우선 위 내용을 생략한다. 위 문서는 우선 기본적인 JNI 를 사용할 수 있는 독자임을 가정한다. JNI 기본적인 사용은 안드로이드 NDK 기본 샘플을 통해서 충분히 읽힐 수 있다. 아래의 방법은 NDK 에서 기본 샘플로 제공하지 않은 방법이다.2.     JNI 네이티브 함수를 직접 등록 하는 방법A.     문제점 - 첫번째 방안(기본적인 	]]>
	</description>
	<pubDate>Fri, 22 Oct 2010 18:05:21 +0900</pubDate>
	<dc:creator><![CDATA[jaehwa]]></dc:creator>
</item>
<item>
	<title><![CDATA[JNI(Java Native Interface)]]></title>
	<link>http://jaehwa.egloos.com/1029737</link>
	<guid>http://jaehwa.egloos.com/1029737</guid>
	<description>
	<![CDATA[ 
   &amp;lt;JNI(Java Native Interface)&amp;gt; 정의자바와 Native(C/C++/어셈블리) 모듈간의 인터페이스를 가능하게 해주는 것을 JNI 라고 말한다.     JNI가 사용되는 경우1.     빠른 처리 속도를 요구하는 루틴의 작성 : Native 로 구현시 자바보다 속도가 빠르다.2.     하드웨어 제어3.     기존 네이티브 소스(C/C++/어셈블리)의 재활용    참고문헌  (1)   인사이드 안드로이드, 04장 JNI와 NKD, 위키북스, 2010   	]]>
	</description>
	<pubDate>Fri, 22 Oct 2010 17:59:51 +0900</pubDate>
	<dc:creator><![CDATA[jaehwa]]></dc:creator>
</item>
<item>
	<title><![CDATA[JNI]]></title>
	<link>http://baum1982.egloos.com/2542094</link>
	<guid>http://baum1982.egloos.com/2542094</guid>
	<description>
	<![CDATA[ 
배포는 자유이나, 수정금지  작성자:박남준(criticlbug@gmail.com)  작성일:2007.8.24    오래전부터 사용해왔고, 요즘은 아주 가끔 사용하는 visual c 6.0이 있는데, 요즘엔 1년에 몇번 쓸까 말까하고 기껏해야 java에서 사용하는 dll을 만드는 용도로 사용하다 보니, gcc를 사용하면 어떨까 싶어서 gclipse와 gcc를 고려하게 되었다. 나중에 unix로의 이전을 생각하고 있는것도 이유이기도 하지만, os 종속 탈피??    먼저 eclipse(http://www.eclipse.org)는 3.3  europa를 설치한뒤에 CDT를 추가설치를 하였다. 그리고 gcc 설치를 위해서 mingw(http://www.mingw.org/)를 다운받아 설치하였다. 처음 받는 사람은 	]]>
	</description>
	<pubDate>Tue, 20 Jul 2010 13:18:21 +0900</pubDate>
	<dc:creator><![CDATA[baum]]></dc:creator>
</item>
<item>
	<title><![CDATA[JDK, JRE, JVM ]]></title>
	<link>http://folt.egloos.com/2353901</link>
	<guid>http://folt.egloos.com/2353901</guid>
	<description>
	<![CDATA[ 
 사실 별것도 아니지만 자바 개발을 위한 첫 단계로써 알아두어야 할 사항중에 하나가 JDK 와 JRE 의 차이점, 그리고 JVM 이란 무엇인지를 알아야 할 듯 해서 간단하게 용어를 정리해보려고 합니다.  JDK ( Java Development Kit )  Java 용 SDK ( Software Development Kit ) 라고 생각하면 쉽겠다.  -&amp;gt; 실제로 두가지 용어를 혼용해서 쓰므로 헷깔리기 쉽지만 다 같은 의미정도로 생각하자.  Java 개발자가 Java 기반 프로그램을 개발할 수 있도록 컴파일러, 툴 등을 제공한다.  개발자 용이기 때문에 사용자는 굳이 설치할 필요가 없다.  -&amp;gt; 다만 자바로 개발된 Application을 사용하기 위한 실행 환경은 있어야 한다. 그 역할을 JRE 	]]>
	</description>
	<pubDate>Wed, 06 Jan 2010 00:31:18 +0900</pubDate>
	<dc:creator><![CDATA[Dreaming Free Developer]]></dc:creator>
</item>
<item>
	<title><![CDATA[JNI Object(class, struct) argument passing]]></title>
	<link>http://hwangssi.egloos.com/3412813</link>
	<guid>http://hwangssi.egloos.com/3412813</guid>
	<description>
	<![CDATA[ 
  갑자기 뜬금 없이 JNI라니..  안드로이드에도 C 기반의 엔진을 지원하다보니 JNI파일을 함께 빌드해야하는 경우가 종종 생긴다.   근데, 처음 접해보면 JNI라는게 참... 불편하다.   특히나, C 기반의 엔진 API가 구조체와 같은 매개변수를 주고 받는다면, 더욱 그렇다.     예를 들어보자.     C 기반 라이브러리의 API 파일 clib.h에 다음과 같이 정의되어 있다.     // -----------------------------------------------------------------------  // clib.h    typedef struct tagTestStruct  {      int nA;      int nB;      int nC;  } TestStruct;   	]]>
	</description>
	<pubDate>Wed, 04 Nov 2009 17:09:58 +0900</pubDate>
	<dc:creator><![CDATA[황씨의 정신줄 보관함]]></dc:creator>
</item>
<item>
	<title><![CDATA[Java Native Interface(JNI)를 통한 C# 코드 호출]]></title>
	<link>http://reino.egloos.com/1478197</link>
	<guid>http://reino.egloos.com/1478197</guid>
	<description>
	<![CDATA[ 
 Java 코드에서 JNI를 이용하여 C#으로 작성된 닷넷 코드 호출하기.    첨부파일 참조.    Call_CSharp_Code_in_Java(JNI).pdf   (문서에서 사용한 예제 소스)  	]]>
	</description>
	<pubDate>Sat, 25 Jul 2009 20:11:00 +0900</pubDate>
	<dc:creator><![CDATA[어느날 문득 생각나면 만드는 공방]]></dc:creator>
</item>
<item>
	<title><![CDATA[JNI &amp; RMI]]></title>
	<link>http://heefox.egloos.com/4355205</link>
	<guid>http://heefox.egloos.com/4355205</guid>
	<description>
	<![CDATA[ 
JNI (Java Native Interface) - 자바에서 다른 언어로 만들어진 소스를 접근하여 실행하게 하거나 반대로 다른 언어에서 자바 코드를 접근해서 사용할 수 있도록 하기 위한 하나의 징검 다리 역할을 하는 기법  RMI(Remote Method Invocation) - 네트워크 상 서로 다른 것으로부터 멀리 떨어져 있는 두개의 자바 언어로 짜여진 어플리케이션간 통신 기법  	]]>
	</description>
	<pubDate>Thu, 14 May 2009 18:46:07 +0900</pubDate>
	<dc:creator><![CDATA[일주일에 한번은 쓰자]]></dc:creator>
</item>
	</channel>
</rss>

