2009-12-20 3 views
0

책에 프로그램 용 소스 코드 세트를 다운로드했고 makefile이 있습니다. 리눅스에 익숙하지 않아 C로 작성된 실제 소스 코드를 볼 수있는 방법이 있는지 알고 싶습니다.메이크 파일을 읽을 수있는 코드로 변환하는 방법은 무엇입니까?

아니면 정확히 내가 그것과 관련이 있습니까?

+0

"책에 대한 소스 코드 *"라고 했습니까? 그게 "책에서 나온 소스 코드"일까요? – pavium

+0

나중에 미안하지만 나는 책의 프로그램에 대한 소스 코드를 의미했습니다. – yuneek

답변

1

Makefile에 소스 자체가 없습니다. 이것은 어떤 명령을 실행해야하는지, 어떤 순서로 프로그램을 작성해야 하는지를 지정하는 특수 형식의 명령 목록입니다. 소스가 어디에 있는지 알고 싶다면, Makefile은 많은 "filename.c"와 "filename.h"를 가질 것입니다. grep을 사용하여 파일의 ".c"및 ".h"인스턴스를 모두 찾을 수 있습니다.이 인스턴스는 프로젝트의 C 소스 및 헤더 파일과 일치해야합니다. 다음 명령은 트릭을 수행해야합니다

grep -e '\.[ch]' Makefile

단순히 합리적인 뭔가해야 make를 입력, 프로젝트를 빌드하기 위해 Makefile을 사용합니다. 그것이 원하는 것을하지 않는다면, 콜론으로 끝나는 줄이 보이지 않는 줄을 찾으십시오. 이들은 타겟 이름이며 "make"후에 프로젝트의 특정 부분을 빌드하거나 특정 방식으로 빌드하기 위해 지정할 수있는 다양한 인수를 나타냅니다. 예를 들어, make install, make allmake debug은 공통된 대상입니다.

아마도 시스템에 GNU Make가있을 것입니다. 많이 Makefile에 대한 자세한 내용은 here을 참조하십시오.

+0

선생님, 다시 한번 나에게 makefile을 사용하는 것입니다. 나는 그들이 많은 예제의 소스 코드라고 말했기 때문에 나는 파일을 다운로드했다는 것을 의미한다. 그리고 내가 소스 코드를 얻지 못하면 내가 무엇을 공부할 것인가? 나는 그게 완전히 새로운데, 만약 그 큐가 어리 석다면 나를 참아주십시오. 내가 실제로 이걸 어떻게 해야하는지. 명령을 사용했는데 일부 파일 이름과 모든 것을 가지고 있는데 어떻게해야합니까? – yuneek

+0

Makefile은 그다지 좋지 않습니다. 이것은 .c 및 .h * 소스 코드 * 파일을 오브젝트 코드로 변환하는 방법을 시스템에 알려주며, 아마도 이들을 함께 하나의 실행 파일로 링크합니다. Makefile에는 C 코드가 없습니다. 내 생각 엔 그 사이트에서 Makefile을 가지고있는 다른 곳에서 그 파일들이 숨어 있다는 것입니다. Google이 색인을 생성하면 Google 코드 검색 (http://www.google.com/codesearch)이 도움이 될 수 있습니다. Makefile에서 가져온 파일 이름이나 예상되는 코드 또는 주석의 스 니펫을 입력하고 "lang : c"및/또는 "site : sitewheremycodeis.com"을 쿼리에 추가하십시오. –

2

소스 코드를 책 웹 사이트에서 다운로드하지 않았을 수 있습니다. 앞에서 언급했듯이 Makefile은 소스 코드를 작성하기위한 지침 일 뿐이며 소스 코드는 일반적으로 .c.h으로 끝나는 추가 파일에 있습니다. 아마도 더 많은 파일을 다운로드하기 위해 책 웹 사이트를 둘러 볼 수 있습니까?

아마도 책 웹 사이트가 공개되어 있기 때문에 어떤 웹 사이트인지 공개하고 누군가가 올바른 방향으로 안내해 드리겠습니다.

+0

이 책은 OpenGL superbible, 이고 책에 코드를 직접 입력하여 코드를 가져 오는 데 어려움이 있습니다. 그래서 내가 소스 코드를 가져 와서 실수를 찾아 냈는지 궁금합니다. 내가 가지고있는 링크는 http://www.starstonesoftware.com/OpenGL/입니다. – yuneek

+0

그리고 그 페이지에서 어떤 파일을 다운로드 했습니까? –

+0

마지막 하나의 리눅스가 파일을 만듭니다. – yuneek

0

SB-AllSource.zip 파일도 다운로드해야합니다. 그런 다음 make를 사용하여 이미 다운로드 한 Makefile을 빌드하십시오.

+0

선생님 감사합니다 그런 바보 같은 실수를 주셔서 감사합니다 선생님 대단히 감사합니다 나는 엄마 studpidity에 대해 사과 잘못된 폴더 에 있었다 미안 해요, 무슨 일이 일어날 것입니다 내가 지은 후에? 무엇을해야합니까? – yuneek

+0

님, 그것을 얻었습니다 UR 도움에 감사드립니다. 그냥 다른 폴더에있었습니다. :) – yuneek

관련 문제