1. 윈도우즈8.1 에서의 GCC 컴파일러 사용하기
Bloodshed Dev-C++ 는 윈도우즈8 / 윈도우즈8.1 부터는 컴파일 에러가 난다.
뭐 요즘은 이클립스에 CDT 를 매달아 쓴다고 인터넷에 많이들 나오지만
실제로 이클립스에 CDT를 붙이고 MinGW까지 또 붙여야 하는데 윈도우즈 프로그래밍을
할 수가 있어진다. 물론, 이클립스로 자바 코딩을 하고 CDT플러그인을 달아 MinGW 을
사용해서 코딩을 하면 멋있을 것 같긴 해.. ( GCC 하나를 쓰면서 그게 대체 뭔 짓이야 <-- 내 생각 )
( 이클립스 짜증남.. 사용할 수록 느려짐.. 쓰다 빡쳐서 지우게 됨.. 지독히 많은 환경변수, 눈덩이처럼
불어나는 레지스트리, 백업파일.. 누가 이따위 툴을 만들었어 이걸 뭐 IDE라고.. )
( 사실 Dev-C++ 역시 그냥 델파이로 짠 IDE 환경만 제공하고 컴파일러는 GCC 와 MinGW 인데,
Orwell Dev-C++ 는 파이썬으로 짠 IDE 환경이다. 이클립스 역시 그냥 IDE지만 주는 JAVA이고
여기에다 CDT 플러그인을 붙이고, 또다시 GCC와 MinGW 를 붙이는 것에 불과하다. 문제는 이클립스
자체가 영별로다..도대체 이 툴은 짜증유발 그자체다. 안드로이드 어플을 오픈소스로 짠다고 하는
사람들은 선택의 여지가 별로 없다. 물론 안드로이드라도 상용 툴은 괜찮을 듯 싶지 않을까하고 생각
도 들긴 하는데, 오픈( Open) 이라는 말의미는 초보자들에겐 "산넘어산" 이란 의미다... ㅋㅋ )
그래서 다음과 같이 환청이 계속된다
"이클립스" --> " 이갈린다" 로 항시 착각해서 들리고 있는 1인 .. ㅋㅋ
Bloodshed Dev-C++ 를 왜 쓰냐하면 일단 ARM 에서 사용하는 것이 GCC 이므로
GCC 로 코딩을 하면 소위 연습코딩이 된다. 물론 가장 좋은 건 뭐니뭐니해도 DOSBOX 환경하에서
볼랜드C++3.1 을 사용하는 게 가장 좋다. 일단 디버거 강력하고 사용함에 있어 거의 눈감고(?) 사용
할 수 있다 ( <-- 물론 이건 내기준이다 ) 그게 이게 ANSI-C 라서 int,long, 의 기준이 strict 조건이다
또한 파일IO 사용시 거대 파일 오픈은 아예 생각하지 말아야 한다 .. 도스니까 뭐 상상에 맡긴다
물론 제약조건은 엄청나게 많다. 일단 conio.h 안에 있는
getchar(), getch() 은 어떻게 써도 맘에 들지 않는다.
경우에 따라서는 " 으음 나도 드뎌 gcc를.. 써보는겨 ?" <-- 이랬다가
" 어휴 골때려" 하고 뒷목을 붙잡을 수 있다. ( 해보면 안다 )
devcpp 이전 버전에서는 conio.h , conio.c ( cpp ? ) 를 카피해서 써야했는데
현재버전은 아마도 include <conio.h> 만 해도 되는 듯 하다
그다음 좋았던 것은 이상한 컴파일러였지만 정말 가공할만한 ARM SDT2.51 이었다.
생긴건 정말 촌스럽지만, 음 뭐라할까 엄청난 디버깅 능력이나 시뮬레이션 코딩을 하다가
PC 내의 파일 엑세스 능력은 가히 .. 엄청났다.. 물론 지금 사용중인 Keil 환경 탓에 이것을 사용할 수는
없다.
물론 덩치가 크지만 비주얼C++을 쓰는 것도 머 나쁘진 않지만.. 역시 임베디드 간 코드이식성은
역대 컴파일러 중 가장 후지기에 패스..
그래서 소스포지에서 오픈되는 "Orwell Dev-C++" 를 설치하면 윈도우즈8.1에서도
간단한 MinGW 기반 프로그래밍이 가능하다. 일단 Keil GCC 로 이식은 너무나 쉽다.
PC에서 짜보고나서 되면 그냥 그대로 쓰면 되니 이식성 완전 갑이다.
2. 임베디드에서 짜다보면 타이머 인터럽트 나 그런 하드웨어 디펜던시 한 것들은 어떻게 짜나
이건 뭐 메인에서 타이머펑션 루핑을 하면 된다 ( 아무리 도스라도 그 정도쯤이야 된다 )
오히려 스텝바이스텝이므로 더 강력하다.
가령 아래와 같은 펑션을 하나 만들고 메인에서 불러주면 된다
unsigned int a_timer;
void a_timer_run(void)
{
if(++a_timer>=65536)
{
a=0;
}
}
int void main(void)
{
a_timer = 0;
.......
for(::)
{
a_timer_run();
....
}
}
3. 이전에도 Orwell Dev-C++ 를 설치해서 잘 사용하긴 했지만, 내가 뭘 잘못 설정했나..
WIN32 빌드가 불가능했고, command line 코딩을 하면 말도 않되는 컴파일 오류가 나서
두어달을 괴롭혔다. ( 꿋꿋하게 오류가 나도 열라 코딩한 1인 )
업데이트를 했나 이젠 Win32 도 코딩이 잘되고 ( 여전히 Path 의 문제가 남아있긴 하다 )
컴파일 오류도 적어진 느낌 .. 다시 검색해보니 제대로 해결하신 분이 계시네요..
터보디버거 같이 강력한 디버깅만 되면 와따인데 말야 .. 아쉬운대로 뭐 ..
devcpp 로 코딩을 하다보면 알게된다.. 폼뿐인 디버깅 메뉴.. ( 그런 디버깅 나도 하겠다 )
디버깅은 꿈일뿐 .. 메뉴중 디버깅 클릭 직후 욕 나오게 된다 이렇게.. " 아.. 이런 빠킹한..디버깅을 봤나 "
참조 및 인용 : http://ivis.cwnu.ac.kr/tc/dongupak/229
요점:
가. 설치시 자동실행이 아니라 다운로드->저장->설치프로그램을 "Windows 7 호환" 으로 설정
나. 설치후 자동실행금지
devcpp.exe 도 윈도우즈7 호환 으로 설정후 실행
'windows > windows7' 카테고리의 다른 글
포멧/윈도우 설치/윈도우 재설치 맥북 부트캠프 윈도우7 설치, 맥북 윈도우 설치 방법 (0) | 2014.10.11 |
---|---|
윈도우즈 7/8 업데이트 삭제 및 시스템 복원 방법 (0) | 2014.10.11 |
윈도우즈 7(Windows 7, 8) 작업표시줄에 바탕화면 바로가기 고정하기 (0) | 2014.10.11 |