반응형

ubuntu에서 OpenGL을 설치해 보자


설치방법은 간단하다...!


터미널 창에서



# sudo apt-get install glutg3

# sudo apt-get install glutg3-dev


를 해주면 설치된다.


코드를 짤때 헤더파일로


#include <GL/glut.h> 를 넣어준다.


컴파일 할때에는 예를들어 hello.c 파일을 컴파일 할때


# gcc -o hello hello.c -lglut


를 해준다.


나는 예제로 solar system이 구현된 코드를 컴파일해봤는데




다음과 같이 gluLookAt과 gluPerspective를 찾을수 없다는 에러메시지가 출력되었다


이것도 역시 구글링...!


컴파일 할때 다음 옵션을 하나 더 추가해주면 된다.


# gcc -o hello hello.c -lglut -lGLU



코드가 좀 허접한거라 ^^;;


엉성하긴 하지만 일단 화면을 띄우는건 성공했다...!



반응형
반응형

gtk를 컴파일 하다가 다음과 같은 에러메시지를 만났다.




방법을 찾기 위해 열심히 구글링... ㅋ


방법을 찾았다


다음과 같이 컴파일을 해주면 된다...!


# gcc $(pkg-config --cflags --libs gtk+-2.0) -o hello hello.c



helloworld_gtk.c 라는 파일을 helloworld_gtk 의 object 파일이 생성되도록 컴파일 했는데 위에처럼 하니까 제대로 컴파일 되고


실행시켰을때에도 제대로 실행되는 모습을 확인할 수 있었다.

반응형
반응형

Ubuntu에서 gtk를 설치하고 Hello world 소스를 실행해 보았다.

 

먼저 gtk를 설치하는 방법은 다음과 같다.

 

커맨드창에서

 

 

 

# sudo apt-get install libgtk2.0-dev

 

라고 입력하면 설치가 될 것이다.

 

이후에 Helloworld 를 출력하는 프로그램을 작성해 보았다. (출처 : http://www.levien.com/gimp/hello.html)

 

#include <gtk/gtk.h>

void
hello (void)
{
  g_print ("Hello World\n");
}

void
destroy (void)
{
  gtk_main_quit ();
}

int
main (int argc, char *argv[])
{
  GtkWidget *window;
  GtkWidget *button;

  gtk_init (&argc, &argv);

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_signal_connect (GTK_OBJECT (window), "destroy",
		      GTK_SIGNAL_FUNC (destroy), NULL);
  gtk_container_border_width (GTK_CONTAINER (window), 10);

  button = gtk_button_new_with_label ("Hello World");

  gtk_signal_connect (GTK_OBJECT (button), "clicked",
		      GTK_SIGNAL_FUNC (hello), NULL);
  gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
			     GTK_SIGNAL_FUNC (gtk_widget_destroy),
			     GTK_OBJECT (window));
  gtk_container_add (GTK_CONTAINER (window), button);
  gtk_widget_show (button);

  gtk_widget_show (window);

  gtk_main ();

  return 0;
}

파일을 저장하고 컴파일을 한다.

 

# gcc hello.c -o hello `pkg-config --cflags --libs gtk+-2.0`

 

컴파일이 완료된뒤 hello 파일을 실행시켜보면

 

# ./hello

 

 

 

 

다음과 같은 창이 뜰 것이다.

 

그러면 성공~!

 

 

만약 컴파일시에 fatal error: gtk/gtk.h: No such file or directory 라는 에러가 발생하면

 

밑에 링크를 클릭...!

 

 

컴파일시 fatal error: gtk/gtk.h: No such file or directory 문제해결

 

반응형
반응형

웹서비스 관련된 과제를 하면서 작성했던 주민등록번호 유효성 검사에 대한 메소드를 구현해 보겠다.


먼저 주민등록번호는 유효성을 검사하는 일종의 공식(?) 이 있다.


차근차근 방법을 따라가 보자.



예를들어 주민등록번호가 123456-1234567 이라고 하면 계산방법은 다음과 같다.



1. 검증코드를 제외한 나머지 값들을 미리 지정된 값에 숫자를 하나씩 하나씩 모두 곱한다.




2. 각 자리수에서 곱한 숫자들을 모두 더한다.




3. 더한 결과를 11로 나누어 나머지를 구한다. (나머지 연산 %)



4. 11에서 나머지의 결과를 빼준다.



5. 연산을 통해 얻어진 값과 위에서 구했던 검증번호가 일치하는지 검사한다.


123456-1234567 이라는 주민등록번호에서 검증번호는 7이고, 연산 결과 얻은 값은 3이 된다.


따라서 두 값은 같지 않기 때문에 유효하지 않은 주민등록번호가 된다. 만약 이 두 값이 같다면 주민등록번호는 유효한 값이 되는 것이다.



위의 계산을 JAVA 코드로 만들어 보았다.





String 형식의 메소드로 인자는 주민등록번호의 앞번호와 뒷번호를 각각 따로 받는다.


인자로 받은 두 번호를 합쳐서 길이가 13자인지 먼저 검사를 하고, 


배열에 저장시켜준다.



배열에 저장한뒤 위에서 이야기 했던 순서대로 연산을 해 나간다.



계산된 최종 값 (validChkNum)과 검증숫자 (inputData[12]) 가 같은지 비교한 뒤 결과를 string 타입으로 리턴시켜 주게 된다.



반응형
반응형



Ubuntu 11.04 에서 텍스트에디터인 sublime text 2를 설치해보자.


직접 sublimetext 홈페이지 (www.sublimetext.com) 에 들어가서 파일을 받은뒤에 압축을 풀고 사용해도 되지만


콘솔창에서 직접 apt-get 명령어를 통해서 설치할 수 도 있다.




콘솔창을 열고 다음과 같이 순서대로 진행한다.


#sudo -i


#add-apt-repository ppa:webupd8team/sublime-text-2


#apt-get update


#apt-get install sublime-text



설치가 완료 된 후에 설치된 Application을 보면 아이콘이 생성되어 있을 것이다.






반응형
반응형
2차원 배열을 동적할당으로 생성해 보겠다.

먼저 간단하게 소스를 보면




다음과 같다.



프로그램을 실행시켜보면 다음과 같이 잘 돌아가는 모습을 확인할 수 있다.



2차원 배열을 쓰기 위해서는 먼저 더블포인터를 이용해야 하고, 이를 할당하기 위해서는 반복문을 이용해야 한다.


위의 예제 코드에서는 10 x 10 사이즈의 배열을 생성하여 모든 값에 1을 저장후 출력해본뒤 free 시키는 단계로 작성된 것이다.


그리고, 마지막으로 free 시켜줄 때에도 반복문을 이용해서 free 시켜줘야 하는데 이때 순서가 malloc 할때와 반대로 free 됨을 주의해야 한다.

반응형

+ Recent posts