우분투 v8.10에서 C언어 컴파일하는데 필요한 소프트웨어랑 파일이 무엇이 필요한가요??
컴파일하는 방법에 대해서도 알려주세요…
HTML은 gedit에서 하는거 같은데 C언어도 똑같이 gedit에서 하나요??
우분투 v8.10에서 C언어 컴파일하는데 필요한 소프트웨어랑 파일이 무엇이 필요한가요??
컴파일하는 방법에 대해서도 알려주세요…
HTML은 gedit에서 하는거 같은데 C언어도 똑같이 gedit에서 하나요??
[quote="ppxhoon":3dn8wzdd]우분투 v8.10에서 C언어 컴파일하는데 필요한 소프트웨어랑 파일이 무엇이 필요한가요??
컴파일하는 방법에 대해서도 알려주세요…
HTML은 gedit에서 하는거 같은데 C언어도 똑같이 gedit에서 하나요?? [/quote:3dn8wzdd]
코딩은 텍스트 에디터라면 모두 사용 가능하겠죠?
전 nano를 주로 사용합니다.
컴파일은
[url:3dn8wzdd]http://wiki.kldp.org/KoreanDoc/html/gcc_and_make/gcc_and_make.html#toc1[/url:3dn8wzdd]
을 참고해보세요.^^
[quote="ppxhoon":s73a9bu6]우분투 v8.10에서 C언어 컴파일하는데 필요한 소프트웨어랑 파일이 무엇이 필요한가요??
컴파일하는 방법에 대해서도 알려주세요…
HTML은 gedit에서 하는거 같은데 C언어도 똑같이 gedit에서 하나요?? [/quote:s73a9bu6]
gedit는 에디터 입니다. 즉 프로그램을 짤 때는 (HTML 문서 작성 포함) 할 때는 에디터를 사용하면 됩니다.
전문적으로 C를 배우고 앞으로 계속 그와 같은 길을 가실 거라면 에디터로 VIM나 이맥을 추천합니다.
설치는 시냅틱 꾸러미에서 VIM을 검색해서 설치하세요.
C 프로그램을 짜고 (예, VIM에서) 기계어로 바꾸기 (컴파일)하기 위해서 컴파일러를 설치해야 합니다.
시냅틱 꾸러미에서 build-essential를 검색해서 설치하세요. 그러면 컴파일러가 설치 됩니다.
사용방법은 아래분이…
그냥
gcc -o 적당한이름 소스이름.c
이러면 됩니다.
혹 헤더파일을 찾을 수 없다고 나올시에는
sudo apt-get install build-essential
하면 됩니다.
관련된 팁을 제가 얼마전에 올렸었는데…
위에도 말씀들 하셨지만 한번쯤 읽어보세요~
[url:2nmurctd]http://ubuntu.or.kr/viewtopic.php?f=9&t=4479[/url:2nmurctd]
[quote="huya84":209d5ois]
전 nano를 주로 사용합니다.
[/quote:209d5ois]
vim, emacs 외에 다른 text 에디터를 쓰시는 분은 처음 봐요. ㅋㅋ
[code:psmjevnj]sudo apt-get install build-essential[/code:psmjevnj]이렇게 명령을 내립니다.
그러면, c컴파일에 필요한 파일들이 설치됩니다.
[code:psmjevnj]#include <stdio.h>
int main(void)
{
printf("Hello, world!\n");
return 0;
}[/code:psmjevnj]이렇게 작성하고 적당히 helloworld.c 라는 파일이름으로 저장합니다.
1번에서 실행한 터미널에서 또는 터미널을 다시 실행하거나 해서
[code:psmjevnj]gcc -ohelloworld helloworld.c[/code:psmjevnj]라고 입력합니다.
[code:psmjevnj]ls[/code:psmjevnj]라고 터미널에 쳐보면 연두색으로 helloworld 라는 파일이 보일겁니다.
[code:psmjevnj]./helloworld[/code:psmjevnj]라고 터미널에 입력하면
Hello world! 라고 출력됩니다.
[code:psmjevnj]sudo apt-get install libgtk2.0-dev[/code:psmjevnj]라고 입력해서 패키지를 설치합니다.
텍스트 편집기에
[code:psmjevnj]#include <gtk/gtk.h>
static void hello( GtkWidget *widget,
gpointer data )
{
g_print ("Hello World\n");
}
static gboolean delete_event( GtkWidget *widget,
GdkEvent *event,
gpointer data )
{
g_print ("delete event occurred\n");
return TRUE;
}
static void destroy( GtkWidget *widget,
gpointer data )
{
gtk_main_quit ();
}
int main( int argc,
char *argv[] )
{
GtkWidget *window;
GtkWidget *button;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (G_OBJECT (window), "delete_event",
G_CALLBACK (delete_event), NULL);
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
button = gtk_button_new_with_label ("Hello World");
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (hello), NULL);
g_signal_connect_swapped (G_OBJECT (button), "clicked",
G_CALLBACK (gtk_widget_destroy),
G_OBJECT (window));
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);
gtk_widget_show (window);
gtk_main ();
return 0;
}[/code:psmjevnj]라고 입력하고 적당히 hellogtk.c 라고 저장합니다.
터미널에서 저장한 디렉토리로 가서
[code:psmjevnj]gcc -ohellogtk hellogtk.c pkg-config gtk+-2.0 --cflags --libs
[/code:psmjevnj] 라고 입력합니다.
` <- 이 표시는 작은 따옴표(쉬프트 + ") 가 아니라 Esc 키 아래에 있는 작은 역따옴표 입니다.
이상없이 컴파일 되었으면… 이제 터미널에
[code:psmjevnj]./hellogtk[/code:psmjevnj]라고 입력합니다.
Hello World 라는 버튼을 가진 조그마한 GUI 창이 실행됩니다.
c와 gtk의 세상! 그리고, 오픈 소스의 세상에 오신 것을 환영합니다.
제가 처음 gtk 배울 때 이런 글을 봤었는데, 검색해 보니 없네요.
그냥 우분투 버전으로 조금 고쳤고, 몇몇 부분은 기억나는대로 정리했습니다.
열심히 배우셔서 다음 라이브러리 함수를 완성해 주세요. 부탁드리겠습니다.
[code:psmjevnj]void 세상모든문제를해결하는함수(void)
{
...
}[/code:psmjevnj]
참… 전 gedit(텍스트 편집기) 사용합니다.
아래 스샷은 gedit에 붙인 터미널 플러그인 [attachment=0:psmjevnj]gedit.png[/attachment:psmjevnj]
[quote="shriekout":3dndyslb]
참… 전 gedit(텍스트 편집기) 사용합니다.
아래 스샷은 gedit에 붙인 터미널 플러그인 [attachment=0:3dndyslb]gedit.png[/attachment:3dndyslb][/quote:3dndyslb]
팁 게시판에 팁좀 올려주십사 간곡한 요청
[quote="huya84":3u5jsds1]전 nano를 주로 사용합니다.[/quote:3u5jsds1]
반갑습니다. 저도 nano를 써요. 윈도에 익숙하니 vim이 잘 익혀지지 않네요. ^^;;
그리고 shriekout님, 좋은 글 감사드립니다. ^^
다들 감사합니다~ ㅋㅋ
도움이 많이 되었습니다~
컴파일 명령어는 "gcc 소스 파일의 이름"입니다.
오해하시면 안됩니다.
예를 들어서 소스 코드 이름이 "test.c"라면, "gcc test.c"라고 명령을 줘야 합니다.
명령 대상은 물론 콘솔입니다.
eclipse (CDT) 나 KDevelop을 설치해 보세요.
남의 소스 가져다가 단순히 컴파일만 해서 바이너리 만드시려는 게 아닌 것 같아서 토 다는 건데요… ^^
그러려면 젠투를 쓰지… --;
직접 코딩을 한다면 (하면서 공부한다면 특히 더) 컴파일만 하는 게 중요한 게 아니고, 디버깅이 훨씬 더 중요합니다.
버전 컨트롤이니 백업이니도 무척 중요하지만 이것도 하실 건 아직 아닐 것 같고…
내가 만든 코드 한 줄 한 줄 실행시켜 보면서 변수들이 어떻게 변하는 지, 컴퓨터가 무슨 짓을 하는 지 보시면서 하는 게 훨씬 더 재미있… 음… 요즘 분위기로는 답만 빨리 나와서 아는 게 중요하고, 그 과정은 안 중요한 듯 하니까 별로 권장할 방법은 아닌게 될 수도 있겠네요… 흠… 아무튼 뭐 직접 한 번 해보시고, 알아서 하시면 될 것 같아요. ^^ 또 분위기가 답만 빨리 알 수 있는 '꽁수’를 알려주는 게 최고인 것 같은데, 꽁수는 아는 게 없고…
그래서, 개발 도구가 좋아야 하는데요. 요즘 웬만한 PC에 X는 다 설치되니까 위의 통합개발환경을 쓰세요. 귀찮게 터미널 환경에서 하시지 마시고요. 물론, 외부에 접속이 안 된다거나, X가 설치 안 되어 있다거나, XT/AT 컴퓨터인 때 같은 그리 훌륭하지만은 않은 환경에 해결사로 긴급 투입될 경우를 대비하고, 기본 교양 함양 차원에서 터미널 환경에서 개발하는 법, vi(m), gcc, make 쓰는 법은 알아놓아야 하고요.
통합개발환경이 왜 '통합’인지를 이것저것 메뉴 실행시켜보고 직접 바꿔보시고 해보시면서 느껴보시길 바래요. 요즘 분위기가 ‘매뉴얼을 일단 먼저 봐 주시고’ 라는 말하면 역적이 되는 것 같기도 해서, 이 말은 빼고요. ^^
shriekout님의 예제 따라해봤는데, 재미 있네요.
잘 봣습니다~
C, 리눅스 막 시작 했는데 설명 보고 따라하니 잘 되엇어요.
사용하기가 GUI용 보다 터미널용 이 더 쉬운듯해요.
shriekout님 ㄱㅅㄱㅅ