2012-01-01 2 views
2

저는 C로 프로그래밍하려고합니다. 저는 전에 리눅스에서 아무것도하지 않았고, 이전의 코딩은 볼랜드 3.1에서 DOS로 이루어졌습니다 - 그래서 많은 일들을 따라 잡았습니다! 나는 'codelite'IDE로 잘 놀고있는 것 같아서 연주하고있다. 지금까지 문제는 아니지만 나는 혼란 스럽다. 이 시점에서 나는 쳐다보고있어 :사용자 정의 유형의 '실제'유형을 어떻게 결정합니까?

{ 
    Display *display; 
    int x; 
    ... 

'디스플레이'유형을 어떻게 결정합니까? 오래된 Borland에서는 커서를 유형 위에 놓고 F1을 누르면 커서가 표시됩니다. 즉, 'display'의 값을 잘라내지만 어떤 형식 지정자를 사용할 지 아무런 단서가 없습니다.

아, 나 같은 사람이 가진 일반적인 조언은 이제 도스의 C 코드에서 리눅스로 뛰어 오르는 것입니다.

+0

사용중인 IDE에 따라 다릅니다. 기본 텍스트 편집기를 사용하는 경우 헤더 파일의 정의를 추적하면됩니다. –

답변

3

나는 codelite IDE를 모른다. 만약이 옵션이 있다면, 가장 쉽다.
어려운 방법은 헤더 파일을 파헤 치는 것입니다.
또 다른 방법은 -E 플래그로 코드를 컴파일하는 것입니다.이 코드는 include와 define을 열어줍니다. (매우 큰) 출력물에서, 디스플레이를 찾아 그것이 어떻게 정의되는지보십시오.

+0

주석은 어디서 오는 줄인지 이해하는 데 도움이되기 때문에'gcc -C -E'를 제안합니다. –

+1

절대적으로 명확하게하기 위해, 당신은'gcc -C -E myfile.c | ('-C -E와 함께) myfile.c를 컴파일하기 위해 일반적으로 사용하는 다른 모든 옵션을 사용합니다. 좋은 생각. –

+0

방금 ​​위의 CLI 방법을 시도했지만 여전히 typedef를 찾을 수 없었습니다 : ( –

3

gdb 디버거를 사용하는 경우
당신은 또한 gdb 내부 ptype Display 명령을 사용할 수 있습니다 (당신은 항상해야 당신이 gcc -Wall -g 컴파일 가정).

Display을 사용하면 그래픽 사용자 인터페이스 (DisplayXlib이므로)에 관심이 있다고 생각됩니다. 그런 다음 강력한 GUI 툴킷 라이브러리 (예 : GTK3 (C) 또는 Qt4.8 (C++) 직접 Xlib을 사용하지 마십시오. 너 잃어 버릴거야!

실제 터미널이 필요한 콘솔 응용 프로그램의 경우 ncurses 또는 readline 라이브러리를 사용하는 것이 좋습니다.

당신은 리눅스에서 코드에 IDE 필요가 없습니다 (emacs + make + gdb + gcc + grep + etags은 괜찮습니다). gcc -Wall -g을 사용하여 C 코드를 컴파일하고 경고가 없어 질 때까지 수정하십시오. 개인 프로젝트의 경우에도 git과 같은 버전 제어 시스템을 사용하십시오.

리눅스가 자유 소프트웨어 인 것을 이용하여 원하는 모든 소스 코드를 연구하고 향상 시키십시오.

물론 Linux kernel의 중요성, system calls의 역할에 대해 알아보십시오. 및 syscalls(2) 매뉴얼 페이지를보고 (man 사용법을 배우십시오).

tty -s (즉, 단말기)의 복잡성을 잊지 마십시오.

+0

또는 적어도 xcb를 사용하십시오. – liori

+0

리눅스 초보자에게는 xcb를 권장하지 않습니다. 대신 GTK 또는 Qt를 권장합니다 .X11 프로토콜 및 관련 사양 (ICCCM 등 ...)은 매우 복잡합니다. –

+0

글쎄, "적어도"은 다음과 같습니다. "저급 X11 프로토콜을 사용해야한다고 생각하더라도 최소한 현대 라이브러리를 사용하십시오."또한 GTK/Qt를 사용하는 것이 더 좋습니다. – liori

관련 문제