작업 환경
OS: Fedora 7.0
CPU: AMD 베니스계열
Avr Gcc로 코딩중입니다. 마이컴의 용량이 작아 항상 코드사이즈가 신경이 쓰이는데
아래와 같은 문제에 봉착하여 원인을 알고자 이곳에 글을 올립니다.
Pc의 Gcc또한 같은 문제일것이라 생각하는데 어느 부분에서.. 왜 용량이 증가하는 것일까요?
일전에도 관련해서 질문 올린적 있는데 해소되지 않아 다시 질문드립니다. 졸업 논문 관련해서 gcc-4.1.2 소스를 분석해야하는데 이것에 관해 완전 초보라서 실험실 조교의 추천에 따라 gdb로 gcc를 디버깅해가면서 분석하고 있습니다.
컴퓨터 초보임에도 불구하고 공부 좀 해볼 생각으로 소프트웨어 관련 논문을 신청했습니다. 그런데 막상 과제 받고 보니 만만치가 않네요;;
일단 주제는 GNU gcc 컴파일 단계에서 주로 front-end에 관한 부분인데요. 파서에 의해 구문 분석이 일어난 후 파서 tree가 생성되는데 이 tree가
우분투 설치했습니다. 최신버전으로 설치했고요.. 그런데
sudo apt-get install build-essential했고요 make, gcc, g++ 다 설치가 되엇습니다. 물론
나초스 받아서 설치했고요 rpm -> deb로 바꿔서 설치했공교
cross컴파일 또한 rpm으로 되어있는것을 설치했습니다.
전화번호 관리 프로그램 phone 이란 놈을 하나 작성했습니다. 그런데 프로그램 실행시에 뒤에 옵션을 붙여서 옵션에 따라 동작을 다르게 할려고 합니다.
unistd.h을 이용해서 getopt로 옵션을 분리하는것까진 이해했습니다. 근데...
phone sort -k name -f phone.txt
man으로 찾아보면 c 함수는 다 나와서 편한데 c++내용은 검색이 안되네요. 우분투고요.. manpages-dev도 설치해 봤는데도요. msdn이나 java.sun.com처럼 API documentation이 좀 보이면 좋겠는데 말이죠. 급한대로 www.cplusplus.com/reference에서 해결하고 있는데.. 이 방법밖에 없는건가요?
프로그램을 Redhat 9상에서 이상없이 컴파일되던 코드였는데 Ubuntu 6.10에서는 컴파일이 되지 않는군요...
컴파일러 버전 때문인지 아니면 다른 문제인지 모르겠네요
이거 저거 다 빼고 문제가 되는 코드만 보자면 다음과 같습니다.
#include <stdio.h> #include <stdlib.h> #include <string.h>
커널 컴파일하는 분들이 gcc 최적화 옵션을 줄 때 이것도 꼭 같이 주라고 하던데요, 이게 뭐하는 거고 왜 줘야 하는 건가요?
Linux 상에서 사용할 수 있는 ttf 등을 사용한 문자 그리기 Library가 있는지 궁금합니다.
문자를 그릴 곳은 unsigned char로 된 배열 내부입니다. (image 데이터를 다루는 중에 그 안에 글자를 찍을 필요가 있는 거랍니다. )