프로그램 사용2010. 6. 1. 14:08
난 한RSS리더를 사용한다.
다르게 말하자면 항상 파이어폭스를 켜놓고 산다.
그러다 보면 이넘의 불여우가 간을 빼먹는게 아니라 메모리를 빼먹는다 ㄱ-

매너없는 메모리. 최고 350MB 까지 가봤음

그래서 부랴부랴 검색을 해서 부가기능에서 memory 키워드로 검색해서 별이 가장 많은 AFOM을 설치했다.
머.. 벤치마킹 이런건 모르겠지만, 체감적으로 상당히 부드러워졌고
메모리가 120MB를 넘어서면 정리를 해서 8MB 까지 떨어지고 다시 또 차오르고를 반복한다.
조금은 더 오래 써봐야 알겠지만, 생각보다 쓸만해 보인다.




2010.06.03 추가
주말에 집에서 사용해보니, 노트북에서는 조금 버벅대는 감이있다.
꾸준히 약간 버벅대냐, 한번 대박으로 버벅대냐의 차이일려나? ^^;
노트북은 센트리노 1.2Ghz / 1GB 이다.

Posted by 구차니
개소리 왈왈2010. 6. 1. 13:53
감기에 절대적인 면역력을 자랑하는
"개띠 오뉴월 버프"가 걸려있기 때문이죠~!



"오뉴월에는 개도 감기 안걸린다"









사족 : 쓰고보니 먼 개소리래 ㄱ-

'개소리 왈왈' 카테고리의 다른 글

아놔 SKT 나랑 싸울래연?  (12) 2010.06.08
TGIF 시대?  (6) 2010.06.03
중국버스 이니셜 D 찍을기세  (4) 2010.05.31
생애 첫 SATA 하드!  (5) 2010.05.29
리눅스 마스터 1급 최종합격  (8) 2010.05.28
Posted by 구차니
Linux2010. 6. 1. 10:52
strip *

이렇게 하면 한 디렉토리의 모든 파일을 알아서 strip 한다.
왜 이렇게 간단한걸 몰랐을까 ㅠ.ㅠ

strip [-F bfdname |--target=bfdname] [-I  bfdname |--input-target=bfdname] [-O bfdname |--output-target=bfdname] [-s|--strip-all] [-S|-g|-d|--strip-debug] [-K symbolname |--keep-symbol=symbolname] [-N symbolname |--strip-symbol=symbolname] [-w|--wildcard] [-x|--discard-all] [-X |--discard-locals] [-R sectionname |--remove-section=sectionname] [-o  file] [-p|--preserve-dates] [--keep-file-symbols] [--only-keep-debug] [-v |--verbose] [-V|--version] [--help] [--info] objfile...

@file
    Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed.

[링크 : http://linux.die.net/man/1/strip]

Posted by 구차니
뜬금없는 이야기지만, 일단 iconv는 libc 를 이용한다.
그런데 이 넘은 실제로 /usr/lib/gconv/*.so 파일들을 사용한다.

아무튼, 이 넘들이 없으면 에러는 안나지만 변환이 안된다.
(임베디드에서 iconv 쓰는데 변환이 안되서 찾은 문제)


strace를 해보니
gconv-module은 /usr/lib/gconv-modules에서 잘 open 했는데 EUC-KR.so 를 open 한 후 libc.so.6ld-linux.so.2를 찾네요, 저는 shared library를 안쓰고 있는데 ㅠㅠ 그래서 위 두 파일을 ramdisk/usr/lib 에 복사해 넣은 후 TARGET에서 다시 iconv sample 프로그램을 돌려보니 이제는 정상 동작 합니다.

[링크 : http://kldp.org/node/76270]



음.. 그래서 일단은 libc*로 파일들을 검색해보니 "libc.so" 가 없다.
so 라길레 파일 용량을 보니 저렴한 238Byte. 그래서 cat으로 해보니 텍스트 파일이다.

>>> x86 리눅스의 libc.so 내용
# cat /usr/lib/libc.so
/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf32-i386)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )

>>> sh4 리눅스의 libc.so 내용
]# cat usr/lib/libc.so
/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf32-sh-linux)
GROUP ( libc.so.6 libc_nonshared.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )



수동으로 crt 코드와 libc를 링크시켜 줍니다. 여기까지 해서 동작을 잘 해야 하는데, 컴파일/링킹 워닝이나 에러가 안나지만 프로그램이 동작하지 않습니다.

$ readelf -l test
...
INTERP 0x000114 0x08048114 0x08048114 0x00013 0x00013 R 0x1
[Requesting program interpreter: /usr/lib/libc.so.1]
...

dynamic linker를 시스템 기본값인 /usr/lib/libc.so.1로 지정하는데, 문제는 시스템에는 해당 파일이 없습니다--; 마찬가지 방법으로 /bin/ls의 INTERP 섹션을 읽어보니까 INTERP는 /lib/ld-linux.so.2로 되어 있네요. 위에서 /usr/lib/libc.so.1 은 없고 /usr/lib/libc.so는 있는데, 이 파일의 내용은 다음과 같습니다.

$ cat /usr/lib/libc.so
/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
OUTPUT_FORMAT(elf32-i386)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.2 ) )
출처:ld의 동작


[링크 : http://earthfall.egloos.com/1794074]

Posted by 구차니
개소리 왈왈2010. 5. 31. 17:01
물 안흘리고, 저게 안흔들리면 되는 거니까..
응?

어디서 많이 듣던 이야기인데?

[링크 : http://photo.media.daum.net/photogallery/foreign/china/view.html?photoid=3248]

'개소리 왈왈' 카테고리의 다른 글

TGIF 시대?  (6) 2010.06.03
저는 오뉴월에 절대 감기 걸리지 않습니다!  (0) 2010.06.01
생애 첫 SATA 하드!  (5) 2010.05.29
리눅스 마스터 1급 최종합격  (8) 2010.05.28
우리 한메일이 달라졌어요(응?)  (4) 2010.05.27
Posted by 구차니
libfreetype의 example1.c 컴파일 하려면 보기보다 빡시다
버그인지는 모르겠지만 /usr/include/ft2build.h 파일에 include 경로가
 #include <freetype/config/ftheader.h>
로 되어있지만 실제로 이 경로는 존재하지 않는다.

/usr/include/freetype2/freetype 에 각종 헤더들이 존재하는데, 이를 해결하기 위해서는
 ln -s /usr/include/freetype2/freetype /usr/include/freetype
이런식으로 심볼릭 링크를 생성해주어야 한다.

아무튼 이러한 헤더경로를 수정해주고 나면 모르면 어려운 에러가 발생한다.
freetype 을 사용하는 녀석들은 수학 라이브러리와 freetype 라이브러리를 사용하므로
 $ gcc -lm -lfreetype
을 넣고 컴파일을 돌려야 한다.
2010/05/30 - [Linux] - libm (math library)

그리고 example1.c 의 경우 폰트의 경로를 직접넣어 주어야 한다.
우분투에서 폰트의 기본 경로는 /usr/share/fonts 이므로 그 안에서 직접 폰트의 전체경로를 넣어주어야 한다.
2010/05/30 - [Linux/Ubuntu] - 우분투 기본 폰트 경로 - Default path of Ubuntu fonts

freetype-doc-2.3.12.tar.bz2 << 이녀석을 압축해제하면 docs/tutorial 에 example?.c 파일'들'이 있다.
그중에 example1.c 를 컴파일 하였으며
 $ gcc -lm -lfreetype example1.c
 $ ./a.out /usr/share/fonts/truetype/ttf-japanese-gothic.ttf test > tt.txt
위와 같은 명령줄로 실행하여 나온 결과는 아래와 같다.
이미지 처럼 나온 것은 메모장을 축소하여 일부분만 잘라낸 것이다.



Posted by 구차니
Linux/Ubuntu2010. 5. 30. 19:11
페도라 코어와 비슷하게 우분투 역시
/usr/share/fonts 에 폰트가 위치한다.

$ tree -d /usr/share/fonts
/usr/share/fonts
|-- X11
|   |-- 100dpi
|   |-- 75dpi
|   |-- Type1
|   |-- encodings
|   |   `-- large
|   |-- misc
|   `-- util
|-- truetype
|   |-- alee
|   |-- freefont
|   |-- openoffice
|   |-- takao
|   |-- thai
|   |-- ttf-dejavu
|   |-- ttf-indic-fonts-core
|   |-- ttf-kacst-one
|   |-- ttf-khmeros-core
|   |-- ttf-lao
|   |-- ttf-liberation
|   |-- ttf-lyx
|   |-- ttf-punjabi-fonts
|   |-- unfonts
|   `-- wqy
`-- type1
    |-- gsfonts
    `-- mathml

2009/03/05 - [Linux] - 리눅스 폰트 위치 - Default directory path of FC(Fedora Core) fonts

'Linux > Ubuntu' 카테고리의 다른 글

yaffs2 하려는데 왜케 빡시누  (0) 2010.09.14
ubuntu 에서 X window 종료시키기  (0) 2010.08.23
시작 윈도우매니저 세션 변경하기 - 우분투  (0) 2010.05.14
Ubuntu 10.04 KDE  (2) 2010.05.11
Ubuntu 10.04 XFCE  (0) 2010.05.11
Posted by 구차니
Linux2010. 5. 30. 19:00
libfreetype 테스트용 프로그램을 컴파일 하는데
아래와 같은 문제가 발생을 했다.

$ gcc example1.c -lfreetype
/tmp/cc2ePnil.o: In function `main':
example1.c:(.text+0x278): undefined reference to `cos'
example1.c:(.text+0x2b0): undefined reference to `sin'
example1.c:(.text+0x2e8): undefined reference to `sin'
example1.c:(.text+0x320): undefined reference to `cos'
collect2: ld returned 1 exit status

해결책은 간단하게 gcc -lm 을 하면 되는데,
Perhaps it needs the maths library linked, -lm, as that is where 'cos' will be.
Though that seems a strange thing to be missing.

[링크 : http://computer-yocher.blogspot.com/2010/05/re-sage-devel-sage-441-build-failures.html]

여기서 -l 은 library이고 파일명으로는, lib 접두가 붙게된다.
즉, -lm은 우분투 10.04 기준으로
lrwxrwxrwx 1 root root      14 2010-05-26 21:55 /usr/lib/libm.so -> /lib/libm.so.6

이녀석을 의미하고, cos() sin() tan()을 사용하는 math.h 를 사용할때에는
추가적으로 -lm 옵션을 추가하여 math library를 링크해주어야 한다.

Posted by 구차니

아놔 오른팔에는 옷이 꽉끼어서
그자리에 그대~~~로 4시간을 있었더니
선탠 자국이 확나버렸어 ㄱ-
어쩔 ㄱ-

'개소리 왈왈 > 사진과 수다' 카테고리의 다른 글

광교산 등산  (6) 2010.06.04
옛날사진들  (2) 2010.06.02
여기는 지구 달 나와라 오바.  (0) 2010.05.27
반포대교 분수 야경 (달빛무지개분수)  (2) 2010.05.21
보헤미안 안녕~ 2  (0) 2010.05.21
Posted by 구차니
Linux2010. 5. 29. 10:36
ATMEL AVR에서도 cli() sti()는 들은거 같았는데, Linux에서도 있었군 -ㅁ-!
아무튼 결론은, Linux Kernel 2.6 이상의 커널에서는 사용하지 않으면 하위호환성으로 인해 존재할 뿐
실질적으로는 local_irq_enable / local_irq_disable 을 사용하라고 한다.

CLear Interrupt
SeT Interrupt 입니다.
인터럽트를 Disable/Enable하는 것이고요. ;;

[링크 : http://kldp.org/node/43805]

커널 2.6 의 <include/linux/interrupt.h> 에 define 되어 있습니다.
이전 버전과의 호환성을 위해 존재하며
앞으로는 local_irq_enable/disable() 을 직접 사용하는 편이 좋습니다.

50 /*
51 * Temporary defines for UP kernels, until all code gets fixed.
52 */
53 #ifndef CONFIG_SMP
54 # define cli() local_irq_disable()
55 # define sti() local_irq_enable()
56 # define save_flags(x) local_save_flags(x)
57 # define restore_flags(x) local_irq_restore(x)
58 # define save_and_cli(x) local_irq_save(x)
59 #endif

[링크 : http://kldp.org/node/43805]

Posted by 구차니