Tech & IT/프로그래밍 110

UNIX, SVN 사용방법 등등

유닉스 명령어http://ultteky.egloos.com/3945933 SVN how to 번역http://ultteky.egloos.com/10908008 SVN linux에서 기본적인 사용 명령어정리http://y3n313.egloos.com/3951085SVN 설치 및 설정http://y3n313.egloos.com/3951074 SVN설치 http://ultteky.egloos.com/10907994 개발 관련 pagehttp://www.joinc.co.kr/modules/moniwiki/wiki.php/article/vim_%BB%E7%BF%EB%C7%CF%B1%E2%20[%EC%B6%9C%EC%B2%98]%20vi%20%EC%82%AC%EC%9A%A9%EB%B2%95(%EC%9C%A0%EC%..

USB관련 설명 자료

아래 페이지의 embedded의 etc에 들어가면 USB의 설명이 나옴http://golee07.tistory.com/entry/USB%EA%B8%B0%EC%B4%88-1-USB-%EA%B0%9C%EC%9A%94 USB통신 프로그램의 이해http://blog.naver.com/leojesus/80130185512 USB Spec PPT와 함께 설명(아래 마소의 참조링크)http://blog.naver.com/gunner98 네이버에 아래 검색, 마소잡지 나옴USB 스펙과 함께 배우는 USB 드라이버의 동작 원리 - 조성배...

내 vim 사용 history

* 단어 검색 set hls (검색한 단어 highlight)set nohls:nohlset ignorecase 대소문자 구분 없앰set ic 대소문자 구분 없앰:\c검색어 대소문자 구분없애고 검색:\C검색어 대소문자 구분하고 검색n (다음찾기)N (이전찾기) * 편집u undoctrl + r : redo * 색상 주석이 파래서 잘 안보임color torte(이게 젤 나은것 같음) * 삼바로 윈도에서 볼 때 한글 깨짐 현상 해결set fencs=utf-8,euc-kr,cp949,cp932,euc-jp,shift-jis,big5,latin1,ucs-2leset fencs=utf-8,euc-kr 실제로 여기까지만 해야 제대로 보임 * 화면이동Ctrl + f 한 화면 위로 이동Ctrl + b 한 화면 아래로 ..

VectorImpl 분석, 템플릿과 void* 와 performance측면

android\frameworks\base\include\utils 의 vectorImpl 과 vector VectorImple에서 type과 관계된 것은 모두 void* 로 작성 VectorImpl을 상속한 Vector에서는 void*를 template로 casting작업해서 type맞춰줌 Vector는 casting만 하므로 작은 함수 ==> 이걸 inline으로 만든다. 작은 함수를 inline으로 만들면 코드가 사라지고 template코드가 아닌 그냥 casting code가 된다. 속도도 빨라지고 void*의 위험성을 template으로 상쇄하는 효과적인 코드

Android NDK 작업순서

NDK작업 순서 1. eclipse 에서 android 프로젝트 생성 후에 native함수를 사용하는 소스 작업.. 2. 프로젝트 최상위 디렉토리에서 javah를 사용해서 native function의 헤더 파일 생성.. javah -classpath bin org.example.myNDK2.MyNDK2Activity 3. 프로젝트 디렉토리 하위 디렉토리로 jni폴더 생성 후에 2에서 생성한 헤더 복사해 오기 4. c 소스 구현 ==> binder client가 실행이 될거고 server의 function이 호출되고 5. Android.mk파일 만든 후에.. ndk-build명령으로 빌드 6. 실행..

Calling Convention정확히 알아야 함(어셈으로 살펴보는 함수 call의 원리)

어셈으로 살펴보는 함수 call의 원리 java는 __stdcall이라는 방식을 사용합니다. java와 C가 통신하려면 __stdcall방식을 아셔야 합니다. www.nasm.us 에서 download에서 win최신 버전을 설치한다 nasm -f win32 -o 1.obj 1.asm //////////////////////////////////////// // main.c #include int asm_main(); int main() { int n = asm_main(); printf("result = %d\n", n); return 0; } ; 3. asm - 함수의 인자 전달 방식 ;1. 레지스터를 사용한 인자 전달 - 빠르다!! 하지만 갯수의 제약이 있다. ;2. 스택을 사용한 인자 전달 - 인자..

Binder5 (Android Framework)

#include #include #include #include #include #include #include using namespace android; #include "ICalc.h" // 클라이언트는 BpCalc를 알 필요가 없다. // 알면 안된다. // 이거는 이제 이거 다 되고 나면 Stub에서 설명하며 개선해 나갈듯 int main(int argc, char** argv) { sp proc(ProcessState::self()); sp sm = defaultServiceManager(); sp svc = sm->getService(String16("myserver1")); //아래 캐스팅을 하는 순간 ICalc::asInterface()를 호출하는 데 결국 거기서 BpCalc객체가 생성된..