- 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 |
- 재능이의 돈버는 일기
- 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
- 무의식이 의식을 지배한다
목록★─Programing (620)
드럼치는 프로그래머
JNI Functions Reference : http://download.oracle.com/javase/1.4.2/docs/guide/jni/spec/functions.html#wp17314 HelloJNI.java public class HelloJNI { static{ System.loadLibrary("my_dll"); } /* byte[]을 전달하고 byte[]을 리턴하는 예 */ public native byte[] byteArrayTest(byte [] name); public static void main(String[] args) throws Exception{ HelloJNI test = new HelloJNI(); byte[] src = {0,1,2,3,4,5,6,7,8,9}; by..
Java, C언어간 한글처리 문제 한글과 같은 2바이트 문자를 다루는 방식이 Java언어와 C언어가 차이를 보이기 때문에 양 언어 사이에 한글이 전달된다면 각자의 처리기준으로 처리하여 한글이 제대로 표현될 수가 없다. Java나 C 언어가 모두 한글을 표현할 때 2바이트 공간에 한개의 문자를 저장하지만 각 바이트에 저장하는 방식은 서로 다르다는 것이다. Java언어에서 한글은 유니코드로 표현되고, C언어에서 한글은 KSC5601 Character set 형식으로 표현하기 때문에 문자열을 전달하여 제대로 표현되기를 바라는 것은 무리일 것이다. JNI 한글처리 해결 다행스러운 것은 Java 언어에서도 KSC5601형식의 바이트 단위 문자열로 표현해 주는 방법이 존재한다는 것이다. 그것이 바로 유니코드 문자열..
JNI Functions Reference : http://download.oracle.com/javase/1.4.2/docs/guide/jni/spec/functions.html#wp17314 JNITest.java public class JNITest { static{ System.loadLibrary("my_dll"); } public native String greeting(String name); public static void main(String[] args) { JNITest test = new JNITest(); String result = test.greeting("Smith"); System.out.println("C 함수 리턴값: "+result); } } JNITest.h /* ..
JNITest.java public class JNITest { static{ System.loadLibrary("my_dll"); } public native int add(int a, int b); public static void main(String[] args) { JNITest test = new JNITest(); int result = test.add(3, 5); System.out.println("C 함수 리턴값: "+result); } } JNITest.h /* DO NOT EDIT THIS FILE - it is machine generated */ #include /* Header for class JNITest */ #ifndef _Included_JNITest #define _I..
HelloJNI.java public class HelloJNI { static{ System.loadLibrary("my_dll"); } /* 기본형 파라미터를 전달하는 경우 */ public native void printSize(boolean b, byte bt, short s, char c, int i, long lg, float f, double d); public static void main(String[] args) throws Exception{ new HelloJNI().printSize(true, (byte)1, (short)2, 'A', 3, 4L, 5.0F, 6.0); } } HelloJNI.h /* DO NOT EDIT THIS FILE - it is machine generat..
linux에서 timer를 사용하기 위해 만들어본 class입니다. :) 각 파일 내용은 첨부파일이나 아래 내용을 참고하세요. main.cpp는 구현한 API를 이용해서 만들어본 예제 프로그램입니다. [ 총 4개 API ] - create_timer(): timer manager 생성 - set_timer(): timer 추가, 다수의 timer 추가 가능 - delete_timer(): set_timer()로 추가한 timer 삭제 - destroy_timer(): create_timer()로 추가한 timer manager 삭제 [ 컴파일 예시 ] g++ -o sample main.cpp Timer.cpp -lrt > Timer.h └ 접기 > Timer.cpp └ 접기 > main.cpp └ 접기
Cygwin에서 setup.exe를 받아서 다운로드 위치를 선택할 때, 미러 사이트에 .kr로 끝나는 사이트는 어딜 보아도 없습니다. 한번은 일본의 jaist에서 잘 다운로드했는데, 집에서 와이브로로 접속할 때는 미국, 일본 어디를 해도 무조건 실패를 하였습니다. ftp://ftp.kaist.ac.kr이 옛날에는 미러사이트였다고 하길래 등록하면 오류가 나면서 진행이 안되었습니다. 그 와중에 kldp에 보니까, ftp://ftp.kaist.ac.kr 이 아니고, ftp://ftp.kaist.ac.kr/cygwin 이라고 되어 있더군요. 지금 설치 중인데, 쾌적한 속도로 잘 진행 중입니다. 이클립스 혹은 구글 웹툴킷 등을 설치할 때, 자주 다운로드가 실패를 해서 프로그래머의 시간을 낭비하곤 하는데, Cygw..
한 프로세스에서의 프로세스간 통신은 쉬운 것이므로 설명은 생략하고 외부 프로세스간 통신시에 사용하는 방법을 설명코자 합니다. aidl은 스텁코드를 만들고자 만드는 것이고, 스텁코드는 공유하려는 대상을 바이트로 바꿔 외부에 공개해 주는 게 주역할입니다. 다음은 프로젝트의 트리 구조입니다. 우선, AIDL의 실 구현부(서버단)과 그 구현을 사용하는 클라이언트를 만들어 보겠습니다. 1. 서버단 a) 해당 프로젝트->src 에ICalc.aidl 을 만듭니다.(이 때 패키지명 추가하고 그곳에 aidl을 넣습니다.) 패키지명과 현재 aidl의 패키지명을 같게 넣지 않으면 후에 에러가 떨어집니다. package com.android.aidldemo.aidl; interface ICalc{ int Add(in int ..
안드로이드 JNI 영역에서 printf 를 사용해봤자 쓰이지도 않고 해서 찾아낸것이 안드로이드 어플처럼 LOG를 사용하는 거~ !! 답답함은 조금 줄어듬.. #include 를 포함해야하고~ log.h를 살펴보면 __android_log_print(LOG_LEV, _TAG, ...); 형태로 되어있는데 ~ 어플의 Log.i 이런것들 쓰다가 쓸려면 돌아버리죠~ 그래서 #define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "libnav", __VA_ARGS__) #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , "libnav", __VA_ARGS__) #define LOGI(...) __android_l..
서비스란 단순히 Background에서만 동작하는 것이 Service가 아니다. Android에서 Service란 Linux에서 Daemon의 의미인 것이다. 즉, 오랫동한 수행해야될 작업을 처리하기 위한 시작점이 바로 Service이다. 서비스의 형태에는 2가지 형태가 있다. 1) Local Service로 구현하는 방법 : Service와 Service를 이용하는 Application이 항상 동일한 Process에서 작동하는 경우에 해당 한다. 이 경우에는 bindService()의 결과로 바로 해당 Service에 접근해서 원하는 API를 호출 할 수 있습니다. 2) Remote Service로 구현하는 방법 : 하지만 실제로 Service가 돌고 있는 Process가 아닌 별개의 Process에서..