우분투 v8.10에서 C언어 컴파일하는 방법을 알려주세요

우분투 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 에디터를 쓰시는 분은 처음 봐요. ㅋㅋ

  1. 프로그램 -> 보조 프로그램 -> 터미널 을 실행하고

[code:psmjevnj]sudo apt-get install build-essential[/code:psmjevnj]이렇게 명령을 내립니다.
그러면, c컴파일에 필요한 파일들이 설치됩니다.

  1. 프로그램 -> 보조 프로그램 -> 텍스트 편집기 를 실행합니다.
    텍스트 편집기에…

[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! 라고 출력됩니다.

  1. GUI 만들기
    터미널에

[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 (&amp;argc, &amp;argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

g_signal_connect (G_OBJECT (window), &quot;delete_event&quot;,
	      G_CALLBACK (delete_event), NULL);

g_signal_connect (G_OBJECT (window), &quot;destroy&quot;,
	      G_CALLBACK (destroy), NULL);

gtk_container_set_border_width (GTK_CONTAINER (window), 10);

button = gtk_button_new_with_label (&quot;Hello World&quot;);

g_signal_connect (G_OBJECT (button), &quot;clicked&quot;,
	      G_CALLBACK (hello), NULL);

g_signal_connect_swapped (G_OBJECT (button), &quot;clicked&quot;,
		      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&#46;0 --cflags --libs[/code:psmjevnj] 라고 입력합니다.
` <- 이 표시는 작은 따옴표(쉬프트 + ") 가 아니라 Esc 키 아래에 있는 작은 역따옴표 입니다.
이상없이 컴파일 되었으면… 이제 터미널에

[code:psmjevnj]./hellogtk[/code:psmjevnj]라고 입력합니다.
Hello World 라는 버튼을 가진 조그마한 GUI 창이 실행됩니다.
c와 gtk의 세상! 그리고, 오픈 소스의 세상에 오신 것을 환영합니다. :)

제가 처음 gtk 배울 때 이런 글을 봤었는데, 검색해 보니 없네요.
그냥 우분투 버전으로 조금 고쳤고, 몇몇 부분은 기억나는대로 정리했습니다.
열심히 배우셔서 다음 라이브러리 함수를 완성해 주세요. 부탁드리겠습니다. ;)

[code:psmjevnj]void 세상모든문제를해결하는함수(void)
{
...
}[/code:psmjevnj] :twisted:

참… 전 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님 ㄱㅅㄱㅅ