2014년 6월 16일 월요일

-Wdeprecated-declarations 경고 없애기

gcc -Wall 로 컴파일 할 때 -Wdeprecated-declarations 경고가 발생하는 경우

1. 경고가 생기지 않는 함수를 사용

2. 경고를 표시하지 않도록 함
2-1. 커맨드 라인에서 지정(모든 함수에 적용)
-Wno-deprecated-declarations 옵션 추가

2-2. #pragma 사용(이후의 모든 함수에 적용)
소스나 헤더에 다음을 추가
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"

2-3 #pragma 사용2(해당 함수 사용 부분에만 적용)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
warning_function();
#pragma GCC diagnostic pop

2-4 매크로에 끼워 넣기
#define LOG(level, ...) \
    do { \
        _Pragma("GCC diagnostic push") \
        _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
        LogPrint(level, __VA_ARGS__); \
        _Pragma("GCC diagnostic pop") \
    } while (0)

참고
deprecated 는 사용 가능하지만 다른 함수의 사용을 권장하는 경우
obsolete 는 사용할 수 없게 된 함수인 경우







2014년 5월 13일 화요일

rubic cube를 배우자

회사 사람에게 소개받은 사이트

http://blog.naver.com/vincentcube


큐브 배워보겠다고 여기 저기 찾아 다니며
외워도 외워도 못 외우고 제자리 걸음만 하다
여기에서 급진전을 이뤘다.

2014년 5월 7일 수요일

Windows 7 hosts 파일 경로

c:\Windows\System32\drivers\etc\hosts

cygwin을 사용하는 경우 리눅스와 같은 경로로 접근 가능
$ vi /etc/hosts

2014년 4월 27일 일요일

HP webOS 3.0.5 로그인

HP webOS 에서 쉘을 얻는 방법

VirtualBox에 로칼 호스트 전용 네트워크 카드를 추가했는데
인식을 안하는 것 같다.

SDK/PDK 에 다음과 같은 방법이 준비되어 있었다.
  • Putty 사용(SDK 에서 같이 설치 됨)
시작 >HP webOS > webOS PDK > Putty


Teraterm 에서는 ssh://root@127.0.0.1:10022  에 접속

(Putty 안쓰지만 같은 방식으로 가능할 듯)


Ubuntu의 패키지 관리 시스템 사용법 정리

Ubuntu의 패키지 관리 시스템 사용법 정리

  • 리포지토리 갱신
$ vi /etc/apt/sources.list
  • gpg 키 추가
$ apt-key add <gpg pub 파일>
  • apt 에 등록 된 gpg 키 리스트
$ apt-key list
  • 패키지 캐시 업데이트
$ apt-get update
  • 패키지 캐시에서 키워드가 포함된 패키지 검색
$ apt-cache search <키워드>
  • 패키지 정보 출력
$ apt-cache show <패키지명>
  • 패키지 설치 또는 업데이트
$ apt-get install <패키지명>
  • 패키지를 다운로드만 (다운로드 위치 /var/cache/apt/archives)
$ apt-get -d install <패키지명>
  • 패키지 삭제
$ apt-get remove <패키지명>
  • 패키지 및 설정파일 삭제
$ apt-get purge <패키지명>
  • 다운로드된 패키지 삭제
$ apt-get clean


  • 사용 가능한 전체 패키지 수
$ apt-cache stats
  • 설치된 패키지 리스트
$ apt-cache pkgnames


  • 설치된 패키지 정보
$ dpkg -l [패키지명]
  • 파일을 설치한 패키지
$ dpkg -S <파일 경로>
  • 패키지가 설치한 파일 리스트
$ dpkg -L <패키지명>
  • 패키지가 설치할 파일 리스트
$ dpkg -c <deb파일>
  • 패키지 설치
$ dpkg -i <deb파일>
  • 패키지 삭제 (설정파일 남김)
$ dpkg -r <패키지명>
  • 패키지 삭제 (설정파일도 삭제)
$ dpkg -P <패키지명>
  • 패키지를 지정한 디렉토리에 풀기
$ dpkg -x <deb파일> <디렉토리>


http://neoguru.tistory.com/63

2014년 4월 25일 금요일

HP webOS 3.0.5 설치

설치는 Windows 7 Ultimate 64bit 에서 테스트 했음.

1. Java 설치
설치가 안되어 있으면 java 사이트에서 최신판을 받아 설치한다.

http://java.com/

PATH 환경변수에 java.exe 가 있는 디렉토리를 추가해야 에뮬레이터가 동작한다.
java -version 으로 버전 확인
java version "1.7.0_55" 를 설치했다.

2. VirtualBox 설치
역시 최신판을 받아 설치한다.
https://www.virtualbox.org/wiki/Downloads

VirtualBox 4.3.10 를 설치했다.

3. HP webOS SDK 설치
https://cdn.downloads.palm.com/sdkdownloads/3.0.5.676/sdkBinaries/HP_webOS_SDK-Win-3.0.5-676-x64.exe
https://cdn.downloads.palm.com/sdkdownloads/3.0.5.676/sdkBinaries/HP_webOS_SDK-Win-3.0.5-676-x86.exe

64bit 버전을 설치했다.

4. SDK 패치 설치
http://forums.webosnation.com/webos-development/322996-virtualbox-4-2-hp-webos-3-0-5-sdk-patch.html
최신 VirtualBox를 사용할 수 있게 해준다.

C:\Program Files (x86)\HP webOS\SDK\share\jars 의 파일을 지정
32bit, 64bit 둘다 패치한다. 64bit 환경인데 32bit  jar 로 동작되는것 같음.

5. 에뮬레이터 설치
먼저 VirtualBox 관리자를 띄운다.
시작 프로그램에서 HP webOS Emulator를 실행하여 SDK 3.0.5.676 (1024x768) 를 설치한다.
자동으로 VirtualBox 이미지를 만들고 실행시켜 준다.

VirtualBox 관리자를띄우지 않고에뮬레이터를 설치하면 에러가 발생한다.


참조 사이트
http://www.scribd.com/doc/167609694/SDK-PDK-Download-HP-WebOS-Developer-Center
http://forums.webosnation.com/webos-development/322996-virtualbox-4-2-hp-webos-3-0-5-sdk-patch.html

2014년 4월 24일 목요일

Open webOS nfs 마운트

Open webOS 이미지를 NFS 로 마운트하는 방법을 알아보자.

$ cd ~/webos/build-webos/BUILD-qemuarm
$ source bitbake.rc

여기 까지는 똑같고

  • 패키지 설치
$ bitbake meta-ide-support
호스트에 rpc.mountd 를 사용하게 해주는것 같다.
(이건 한 번만 해주면 될 듯)

  • webOS 이미지 전개
$ runqemu-extract-sdk deploy/images/webos-image-qemuarm-master-20140424105713.rootfs.tar.gz rootfs
rootfs 이미지 파일을 <extract-dir> 에 풀어준다.
Usage: runqemu-extract-sdk <image-tarball> <extract-dir>
(이건 webOS  이미지 자체를 바꾸는 경우만 하면 될 듯)

  • qemuarm 실행
$ runqemu deploy/images/zImage-qemuarm.bin rootfs qemuparams="m 512" serial
이전 실행 명령어와 다른 점은 webos-image qemuarm 대신에
커널 이미지 경로와  rootfs 경로를 직접 지정한다는 것이다.


NFS 설정법을 몰라도 위의 명령어 만으로 사용이 가능하다.