Software2012.05.29 09:11

1. Core Objects와 Interfaces.

 

Database connection object: sqlite3

Prepared statement object: sqlite3_stmt

 

Database connection과 Prepared statement objects들은 아래 C/C++ I/F에 의해 제어 되어진다.

- sqlite3_open()

- sqlite3_prepare()

- sqlite3_step()

- sqlite3_column()

- sqlite3_finalize()

- sqlite3_close()

 

sqlite3_open()

:

 

sqlite3_prepare()

:이 Routine은 SQL text를 prepared statement object로 변환하고 그 object에 포인터를 반환한다. 이 인터페이스는 sqlite3_open()에서 이전 호출에 의해서 생성되는 database connection 포인터 준비되어진 SQL statement를 포함하는 text string를 필요로한다. 이 API는 실제로 SQL statement를 평가하지 않는다. 이것은 거의 평가하기위해서 SQL statement를 준비한다.

 

sqlite3_step()

:이 Routine은 sqlite3_prepare() I/F에 의해서 이전에 생성되어진 prepare statement를 값을 구하기 위해서 사용되어진다. 이 statement는 최대 포인터를 평가하고 여기서 결과의 첫번째 row는 이용 가능하다. 결과의 두번째 row로 나아가기 위해서는 sqlite3_step()을 다시 수행하여야한다. statement가 완료될때까지 sqlite3_step()을 수행하는것을 계속하여야한다. 결과(ex: INSERT, UPDATE, 또는 DELETE statements)를 반환하지 않은 statement들은 sqlite3_step()를 단일 호출할때 완료된다.

 

sqlite3_column()

:

 

 

sqlite3_finalize()

:이 Routine은 sqlite3_prepare()의 이전 호출에 의해서 생성된 prepared statement를 파괴한다. 모든 prepared statement는 메모리 누수를 피하기 위해서 이 루틴 호출을 사용하는 것을 파괴하여야 한다.

 

sqlite3_close()

:

 

source: sqlite.org, "http://www.sqlite.org/cintro.html."

'Software' 카테고리의 다른 글

sqlite C/C++ I/F  (0) 2012.05.29
Windows Phone 7 Device Driver  (0) 2010.10.28
CreateThread Function[미완료]  (0) 2010.10.07
Posted by Act of God
Software/C/C++2012.04.17 16:43

How to build zlib on MinGW that is operating on Windows.

$make -f win32/Makefile.gcc

$make install INCLUDE_PATH=[path] LABRARY_PATH=[path] BINARY_PATH=[path] -f win32/Makefile.gcc

 

How to build bzip on MinGW that is operating on Windows.

$make

$make install PREFIX=[path]

 

How to build freetype2 on MinGW that is operating on Windows.

- freetype2 is software font engine.

$./configure --prefix=[path] --disable-shared

$make

$make install

 

How to build CELT on MinGW that is operating on Windows.

- CELT(Contrained Energy Lapped Transform) is lossy audio compression format.

$./configure --prefix=[path] --disable-shared

$make

$make install

 

How to build lame on MinGW that is operating on Windows.

- LAME is mp3 encoder.

$./configure --prefix=[path] --disable-shared

$make

$make install

 

We can download below four libraries on www.xiph.org

 

How to build libogg on MinGW that is operating on Windows.

-

$./configure --prefix=[path] --disable-shared

$make

$make install

 

#it depend on libogg

How to build libvorbis on MinGW that is operating on Windows.

- Vorbis is lossy audio codec. It is commonly used in conjunction with the Ogg container format.

$./configure --prefix=[path] --disable-shared

$make

$make install

 

How to build vo-aacenc on MinGW that is operating on Windows.

$./configure --prefix=[path] --disable-shared

$make

$make install

 

How to build Theora on MinGW that is operating on Windows.

- Theora is a free lossy video compression format.

 

How to build libvpx on MinGW that is operating on Windows.

- libvpx is codec library for VP8 video streams.

 

How to build Frei0r on MinGW that is operating on Windows.

- Frei0r is a minimalistic plugin API for video sources and filters.

 

How to build libass on MinGW that is operating on Windows.

- libass is a portable library for SSA/ASS subtitles rendering.

 

How to build libgsm on MinGW that is operating on Windows.

- libgsm is codec to be GSM full rate audio.

 

 

Posted by Act of God
Software/Linux2012.01.12 03:26
GPU
$chmod +x ati-driver-installer-11-12-x86.x86_64.run
$sudo sh ati-driver-installer-11-12-x86.x86_64.run

Synaptic Touchpad

$sudo apt-get install touchpad-indicator

Built-in Speaker
$sudo apt-get install linux-backports-modules-alsa-lucid-generic

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

Compaq 436 Ubuntu 설치 시 필요한 사항  (0) 2012.01.12
Ubuntu version의 Code name  (0) 2011.11.22
.debug_pubnames와 .debug_pubtypes  (0) 2011.05.17
U-boot[미완료]  (0) 2011.04.13
Linux 괜찮다~~~~~툴들  (0) 2011.04.12
GNU ARM Toolchain 설치[미완료]  (0) 2011.04.07
Posted by Act of God
Software/Linux2011.11.22 08:53
Code name: Precise Pangolin
Ubuntu 12.04 LTS

Code name: Oneiric Ocelot

Ubuntu 11.10

Code name: Natty Narwhal

Ubuntu 11.04

Code name: Maverick Meerkat

Ubuntu 10.10

Code name: Lucid Lynx

Ubuntu 10.04.3 LTS(Long-term Support)
Ubuntu 10.04.2 LTS
Ubuntu 10.04.1 LTS
Ubuntu 10.04 LTS

Code name: Hardy Heron
Ubuntu 8.04.4 LTS
Ubuntu 8.04.3 LTS
Ubuntu 8.04.2 LTS
Ubuntu 8.04.1 LTS
Ubuntu 8.04 LTS

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

Compaq 436 Ubuntu 설치 시 필요한 사항  (0) 2012.01.12
Ubuntu version의 Code name  (0) 2011.11.22
.debug_pubnames와 .debug_pubtypes  (0) 2011.05.17
U-boot[미완료]  (0) 2011.04.13
Linux 괜찮다~~~~~툴들  (0) 2011.04.12
GNU ARM Toolchain 설치[미완료]  (0) 2011.04.07
Posted by Act of God
Software/C/C++2011.11.21 16:41
ELF(Executable and Linkable Format) Viewer(aka T34) Project.
ELF를 공부하는 동안 만든 프로그램과 소스를 가지고 sourceforge에 프로젝트를 만들어 프로젝트를 시작합니다.

Posted by Act of God
TAG Elf
Software/C/C++2011.10.13 20:07
Alignment And Padding on ARM

ARM에서 struct의 사용시 그 크기를 구함에 있어 X86 과 매우 다름에 주의 해야 한다.
ARM에서는 RISC의 특성상 데이타로의 접근을 빠르게 하기 위해여 4의 배수 단위로 데이타를 정렬시킨다.
일단 예제를 통해 X86과 ARM 에서 어떻게 다른지 확인해 보자.

#include <stdio.h>

struct ac {
char    a;  
};

struct as {
short   a;  
};

struct ai {
int     a;  
};

struct amix {
struct ac   a;  
struct as   b;  
struct ai   c;  
};

int main(int argc, void *argv[])
{

printf("sizeof char  %d\n", sizeof(struct ac));
printf("sizeof short %d\n", sizeof(struct as));
printf("sizeof int   %d\n", sizeof(struct ai));
printf("sizeof mix   %d\n", sizeof(struct amix));

return 0;
}


X86 과 ARM의 실행 결과이다.

X86
sizeof char  1
sizeof short 2
sizeof int    4
sizeof mix   8
ARM
sizeof char  4
sizeof short 4
sizeof int    4
sizeof mix   12

각각 char, short, int 만을 멤버로 갖고 있는 자료구조들의 크기는
X86 에서는 그 크기만큼만 크기를 갖지만 ARM 에서는 정렬되지 않는 경우
데이타로의 접근이 느려지기 때문에 기본 데이타 크기인 4의 크기를 갖게 된다.
하지만 다른 것이 있다 바로 mix 자료형의 경우 X86에서조차 8의 크기를 갖는다.
char + short + int 를 하게 되면 7이 나와야 함에도 배열을 멤버로 갖는 자료형에 문제가 생기는 것이다.
이제 각각의 자료형이 어떤 정렬의 특서을 갖는지 살펴보자.
__alignof__ 함수는 자료형이 어떤 정렬의 특성을 갖는지 알려준다.
각각의 자료형에 아래와 같이 했을때의 결과를 살펴보자
printf("sizeof char  %d\n", __alignof__(struct ac));
printf("sizeof short %d\n", __alignof__(struct as));
printf("sizeof int   %d\n", __alignof__(struct ai));
printf("sizeof mix   %d\n", __alignof__(struct amix));
X86
sizeof char  1
sizeof short 2
sizeof int    4
sizeof mix   4
ARM
sizeof char  4
sizeof short 4
sizeof int    4
sizeof mix   4
보는 바와 같이 자료형의 정렬의 특성이 다름을 알려준다.
mix 자료형의 정렬은 보는 바와 같이 4의 크기이기 때문에 크기가  X86 에서도 8이 된다.
자 그럼 mix 자료형을 아래와 같이 바꾸면 크기가 얼마가 될까?
struct amix {
struct ac   a;
struct ai   c;
struct as   b;
};
인자들의 내용은 동일하다
하지만 char + short + int 형으로 배치되어 있던 것이
char + int + short 형으로 배치가 바뀌었다.
크기가 어떻게 바뀌었을까?
sizeof mix   12
X86 과 ARM 모두 동일하게 12의 크기를 갖게 된다.
그 이유는 내부 자료형에서 4의 정렬 틀성을 가지기 때문에 char 형 뒤에 int 가 올경우 4의 정렬을 맞추기 위해서 
각각의 인자의 크기가 4로 된 것이다.
정렬의 크기와 순서에 따라 크기가 달라지는 마법은 매우 혼란스럽다.
마지막으로 mix 된 데이타의 위치가 어디인지 한번 확인해 보자.
#define offsetof(s,m)   (size_t)&(((s *)0)->m)
를 선언하고 
struct amix {
struct ac   a;
struct as   b;
struct ai   c;
};
자료 구조의 위치를 정확히 알아보자
printf("offsetof mix a %d\n", offsetof(struct amix, a));
printf("offsetof mix b %d\n", offsetof(struct amix, b));
printf("offsetof mix c %d\n", offsetof(struct amix, c));
의 실행 결과는 
offsetof mix a 0
offsetof mix b 2
offsetof mix c 4
와 같이 나온다.
X86
offsetof mix a 0
offsetof mix b 2
offsetof mix c 4
ARM
offsetof mix a 0
offsetof mix b 4
offsetof mix c 8
X86 에서는 좀더 스마트하게 앞의 두개의 인자가 4를 초과하지 않지만 그 안에서도 2의 배수로 정렬하고
4의 배수로 정렬해 주었다.


이번엔 
struct amix {
struct ac   a;
struct ai   c;
struct as   b;
};
와 같이 int 와 short 의 순서를 바꾸었다.
X86
offsetof mix a 0
offsetof mix c 4
offsetof mix b 8
ARM
offsetof mix a 0
offsetof mix b 4
offsetof mix c 8
이번엔 결과가 동일하다 왜냐하면 X86에서도 첫번째 인자와 두번째 인자의 합이 4를 초과하므로
4의 정렬로 맞추어진 것이다.
본바와 같이 정렬의 크기와 순서에 따라 또한 아키텍쳐에 따라 매우 다른 경우를 보여준다.
이제 마지막으로 이 모든것을 똑같이 맞추는 방법을 시험해 보자.
아래의 소스의 실행 결과를 눈여겨 보자.
#include <stdio.h>

struct ac {
char    a;
}__attribute__((packed));

struct as {
short   a;
}__attribute__((packed));

struct ai {
int     a;
}__attribute__((packed));

struct amix {
struct ac   a;
struct as   b;
struct ai   c;
}__attribute__((packed));

#define offsetof(s,m)   (size_t)&(((s *)0)->m)

int main(int argc, void *argv[])
{

printf("sizeof char  %d\n", sizeof(struct ac));
printf("sizeof short %d\n", sizeof(struct as));
printf("sizeof int   %d\n", sizeof(struct ai));
printf("sizeof mix   %d\n", sizeof(struct amix));

printf("sizeof char  %d\n", __alignof__(struct ac));
printf("sizeof short %d\n", __alignof__(struct as));
printf("sizeof int   %d\n", __alignof__(struct ai));
printf("sizeof mix   %d\n", __alignof__(struct amix));

printf("offsetof mix a %d\n", offsetof(struct amix, a));
printf("offsetof mix b %d\n", offsetof(struct amix, b));
printf("offsetof mix c %d\n", offsetof(struct amix, c));

return 0;
}
X86
sizeof char  1
sizeof short 2
sizeof int   4
sizeof mix   7
sizeof char  1
sizeof short 1
sizeof int   1
sizeof mix   1
offsetof mix a 0
offsetof mix b 1
offsetof mix c 3
ARM
sizeof char  1
sizeof short 2
sizeof int   4
sizeof mix   7
sizeof char  1
sizeof short 1
sizeof int   1
sizeof mix   1
offsetof mix a 0
offsetof mix b 1
offsetof mix c 3

보는 것처럼 모든 결과가 동일하게 되었다.
주의 할 것은  mix 처럼 자료구조형을 갖고 있는 자료형의 경우 내부에서 사용된 
모든 struct에 __attribute__((packed)) 를 붙여주어야 한다는 것이다.

그렇지 않을 경우 또 예기치 못하는 결과가 올수도 있다.

위와 같이 ARM뿐만 아니라, x86, 그리고 다른 Architecture에서도 정렬 제약에 대해서 반드시 고려해야 한다. 프로그램 잘짜놓고 애먹을 수 있으니....

Source: FALINUX, 강좌 & 팁, "http://forum.falinux.com/zbxe/?mid=lecture_tip&page=17&document_srl=534732"
Posted by Act of God
Software/Linux2011.05.17 13:02

.debug_pubnames와 .debug_pubtypes

.dubug_pubnames와 .debug_pubtypes section은 아래와 같은 포맷 구조를 가지고 있다.
/////////////////////////////////////////////////////
[unit_length:4-byte] : .debug_pubnames에서 unit_lenght size를 제외한 엔트리의 크기.
[version:2-bytes]: DWARF version 정보.
[debug_info_offset:4-byte]: .debug_info section에서의 offset.
[debug_info_length:4-byte]: debug_info section에서의 length.
-----------------------------------------------------
[offset:4-byte]
[마지막 Null을 가진 문자열]
~
[offset:4-byte]
[마지막 Null을 가진 문자열]
-----------------------------------------------------
[0으로 된 offset:4-byte].
/////////////////////////////////////////////////////
~
/////////////////////////////////////////////////////
[unit_length:4-byte]
[version:2-bytes]
[debug_info_offset:4-byte]
[debug_info_length:4-byte]
-----------------------------------------------------
[offset:4-byte]
[마지막 Null을 가진 문자열]
~
[offset:4-byte]
[마지막 Null을 가진 문자열]
-----------------------------------------------------
[0으로 된 offset:4-byte].
/////////////////////////////////////////////////////

Source
[1] DWARF Debugging Information Format, Version 2 and Version 4.

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

Compaq 436 Ubuntu 설치 시 필요한 사항  (0) 2012.01.12
Ubuntu version의 Code name  (0) 2011.11.22
.debug_pubnames와 .debug_pubtypes  (0) 2011.05.17
U-boot[미완료]  (0) 2011.04.13
Linux 괜찮다~~~~~툴들  (0) 2011.04.12
GNU ARM Toolchain 설치[미완료]  (0) 2011.04.07
Posted by Act of God
Software/Linux2011.04.13 17:18
U-Boot

- Linux Kernel Interface.
CONFIG_CLOCKS_IN_MHZ
;U-Boot은 내부적으로 Hz로 모든 클럭 정보를 저장한다. 예전 Linux Kernel과 호환성을 위해서 환경 변수 "clocks_in_mhz"는 정의 되어진다. 즉 U-Boot은 이것을 Linux kernel에 넘기기 전에 clock 데이터를 MHz로 변환한다.
CONFIG_CLOCKS_IN_MHZ가 정의 될때, "clocks_in_mhz=1"의 정의는 자동적으로 기본적인 환경으로 포함되어 진다.

CONFIG_MEMSIZE_IN_BYTES(오직 MIPS와 관련)
;Linux에 memsize parameter를 전송할때, 몇몇 버전들은 이것을 byte로 생각한다. 이외에서는 MB이다. Bytes로 만들기 위해서 CONFIG_MEMSIZE_IN_BYTES를 정의한다.

CONFIG_OF_LIBFDT
새로운 Kernel 버전은 flatten device tree(open firmware concept)를 사용하여 넘겨지는 firmware setting을 생각한다.

CONFIG_OF_LIBFDT
- 새로운 libfdt-기반 지원.
- "fdt" command 추가.
- bootm command는 fdt를 자동적으로 업데이트.

OF_CPU - cpu node의 적당한 이름(오직 MPC512X와 MPC5XXX 기반 보드를 위해 필요)
OF_SOC - soc node의 적당한 이름(오직 MPC512X와 MPC5XXX 기반 보드를 위해 필요)
OF_TBCLK- timebase frequency.
OF_STDOUT_PATH-console device 경로.

QUICC Engine을 가진 Board는 UCC MAC 주소를 설정하기 위해서 OF_QE를 필요로한다.

CONFIG_OF_BOARD_SETUP
Board code는 Kernel에 이것을 넘겨주기 전에 flat device tree에서 만들기를 원하는 추가 수정을 가진다.

CONFIG_OF_BOOT_CPU
이 정의는 boot param header에서 정확한 boot CPU로 채워진다. 만약 정의 안되어있다면 '0' 이다.

CONFIG_OF_IDE_FIXUP
U-Boot은 만약 IDE 장치가 존재하거나 그렇지 않는 것을 감지한다. 만약 존재하지 않는다면, 그리고 이 새로운 옵션이 활성화 되어 있다면, U-Boot은 Linux 부팅전에 DTS로 부터 ATA node를 제거한다. 그래서 Linux IDE driver는 device와 crash를 조사하지 않는다. 이것은 buggy H/W(uc101)을 위해 필요하다. 여기서 pull down resistor없이 signal IDE5V_DD7에 연결된다.

-vxWorks boot parameters.

CONFIG_SYS_VXWORKS_BOOT_DEVICE
CONFIG_SYS_VXWORKS_MAC_PTR
CONFIG_SYS_VXWORKS_SERVERNAME
CONFIG_SYS_VXWORKS_BOOT_ADDR

CONFIG_SYS_VXWORKS_ADD_PARAMS

-Serial Ports:
CONFIG_PL010_SERIAL
;만약 AMBA PrimeCell PL010 UARTs를 지원하길 원한다면 이것을 정의.
CONFIG_PL011_SERIAL
;만약 AMBA PrimeCell PL011 UARTs를 지원하길 원한다면 이것을 정의.
CONFIG_PL011_CLOCK
;만약 AMBA PrimeCell PL011 UARTs가 있다면, UARTs의 clock speed로 이 변수를 설정.
CONFIG_PL01x_PORTS
;만약 AMBA PrimeCell PL010 또는 PL011 UART가 있다면, 각 포트를 위한 base address의 리스트로 이것을 정의.
ex) include/configs/versatile.h

-Boot Delay: CONFIG_BOOTDELAY - 초 단위
기본 이미지를 자동적으로 부팅하기 전의 지연. autoboot을 disable하기 위해서는 -1로 설정.

CONFIG_BOOTDELAY로 동작하는 이러한 옵션들을 위해서 doc/README.autoboot를 보면됨.
CONFIG_BOOT_RETRY_TIME
CONFIG_BOOT_RETRY_MIN
CONFIG_AUTOBOOT_KEYED
CONFIG_AUTOBOOT_PROMPT
CONFIG_AUTOBOOT_DELAY_STR
CONFIG_AUTOBOOT_STOP_STR
CONFIG_AUTOBOOT_DELAY_STR2
CONFIG_AUTOBOOT_STOP_STR2
CONFIG_ZERO_BOOTDELAY_CHECK
CONFIG_RESET_TO_RETRY

-Autoboot command:
CONFIG_BOOTCOMMAND
;오직 CONFIG_BOOTDELAY가 enable될때 필요함.

CONFIG_BOOTARGS
;bootm command에 argument들을 넘기기 위해서 필요함. CONFIG_BOOTARGS의 값은 환경변수 "bootargs"로 간다.


CONFIG_RAMBOOTCONFIG_NFSBOOT
;


 

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

Ubuntu version의 Code name  (0) 2011.11.22
.debug_pubnames와 .debug_pubtypes  (0) 2011.05.17
U-boot[미완료]  (0) 2011.04.13
Linux 괜찮다~~~~~툴들  (0) 2011.04.12
GNU ARM Toolchain 설치[미완료]  (0) 2011.04.07
MTD nandsim HOWTO for yaffs users[미완료]  (0) 2009.12.02
Posted by Act of God
Software/Linux2011.04.12 09:31
Meld 소스 비교 툴.
RapidSVN SVN GUI 툴.
--이하 추가 예정--

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

.debug_pubnames와 .debug_pubtypes  (0) 2011.05.17
U-boot[미완료]  (0) 2011.04.13
Linux 괜찮다~~~~~툴들  (0) 2011.04.12
GNU ARM Toolchain 설치[미완료]  (0) 2011.04.07
MTD nandsim HOWTO for yaffs users[미완료]  (0) 2009.12.02
Gtkwave 설치시 오류  (0) 2009.11.09
Posted by Act of God
Software/Linux2011.04.07 09:54
  1. cd [binutils-build]
  2. [binutils-source]/configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib
  3. make all install
  4. export PATH="$PATH:[toolchain-prefix]/bin"
  5. cd [gcc-build]
  6. [gcc-source]/configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib --enable-languages="c,c++" --with-newlib --with-headers=[newlib-source]/newlib/libc/include
  7. make all-gcc install-gcc
  8. cd [newlib-build]
  9. [newlib-source]/configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib
  10. make all install
  11. cd [gcc-build]
  12. make all install
  13. cd [gdb-build]
  14. [gdb-source]/configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib
  15. make all install
-Warning error 발생시 발생시.
;binutils build시 warining error 발생하여 중단된다면, configure할때 --disable-werror을 준다.
-newlib build시 Makeinfo error 발생 할 경우 Makefile에서 MAKEINFO=/usr/bin/makeinfo로 변경.[Makeinfo가 설치되어있는데 error낸경우].
-arm-elf-cc가 없다고 error 낸경우 arm-elf-gcc로 sybolic link걸어줌: ln -s arm-elf-gcc arm-elf-cc
-soft floating 연산 지원 옵션: --with-float=soft

#gcc configure option
;각 --enable option은 상응하는 -disable option을 가지고, 각 -with option은 상응하는 --without option을 가진다.

--enable-shared[=package[,...]]
;만약 shared library가 target platform에서 지원된다면, Library들의 공유 버전을 빌드.

--with-gnu-as
;compiler는 assembler가 GNU assembler라고 가정한다는 것을 정의.

--with-gnu-ld
;--with-gnu-as와 같이 linker를 GNU linker로 가정.

--disable-multilib
;서로 다른 target 종류를 지원하기 위한 다중 target library를 빌드하지 않는다고 정의.

--enable-languages=lang1,lang2,...
;오직 compiler들의 부분 집합과 그의 runtime library들을 빌드하는것을 정의.

--with-gmp=pathname
--with-gmp-include=
pathname
--with-gmp-lib=
pathname
--with-mpfr=
pathname
--with-mpfr-include=
pathname
--with-mpfr-lib=
pathname
--with-mpc=
pathname
--with-mpc-include=
pathname
--with-mpc-lib=
pathname
;만약 GMP(the GNU Multiple Precision library)를 가지고 있지 않다면, 표준 위치에 설치된 MPFR library 와/또는 MPC library와 GCC를 빌드하기를 원한다면 설치된 디렉토리를 정의.(--with-gmp-gmp_install_dir, --with-mpfr=mpfr_install_dir, --with-mpc=mpc_install_dir)

Cross-Compiler-Specific Options
--with-sysroot
-with-sysroot=dir
;
--with-build-sysroot
--with-build-sysroot=dir

--with-headers
--with-headers=dir
--with-libs
--with-libs="dir1 dir2 ... dirN"
--with-newlib
;newlib는 target C library로 사용되어지는 것을 정의, 이것은 newlib에 의해서 제공되어지는 assumption에서 libgcc.a로부터 생략되어진 __eprintf 때문이다.
--with-build-time-tools=dir
;target tools(assembler, linker, etc)의 셋을 위치를 정의

#Reference
1. http://gcc.gnu.org/install/configure.html

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

U-boot[미완료]  (0) 2011.04.13
Linux 괜찮다~~~~~툴들  (0) 2011.04.12
GNU ARM Toolchain 설치[미완료]  (0) 2011.04.07
MTD nandsim HOWTO for yaffs users[미완료]  (0) 2009.12.02
Gtkwave 설치시 오류  (0) 2009.11.09
Patch file 만들기  (0) 2009.11.06
Posted by Act of God