(Linux Ubuntu 9.10을 실행하고 있으므로 실행 파일의 확장자는 executablefile.out입니다.) C 언어의 모듈 프로그래밍 (여러 파일로 프로그래밍)에 들어가기를 원합니다. 하나의 makefile에서 여러 파일을 컴파일하십시오. 예를 들어,이 파일들을 컴파일하는 메이크 파일은 무엇입니까? main.c, dbAdapter.c, dbAdapter.h? (그런데, 아직 이해하지 못했다면 메인 기능은 main.c에 있습니다.) 또한 메이크 파일의 문서에 대한 링크를 게시 할 수 있습니까?여러개의 C 파일을 make와 함께 컴파일
25
A
답변
26
내 Makefile Tutorial: How To Write A Makefile을 참조하십시오. 이 프로젝트는 (C 및 C++ 소스 파일이 여러 개있는) 그러한 프로젝트를 빌드하고 잘 작동하는 방법을 설명하며 일반적인 함정뿐만 아니라 야생에서 발생하기에는 너무 빈약 한 makefile 관행에 대해 경고하는 잘 만들어진 Makefile을 제공합니다 .
0
GNU make 당신이 찾고있는 것이어야합니다.
32
게시 된 링크는 모두 좋습니다. 특별한 경우에 이것을 시도 할 수 있습니다. 기본적으로 모든 Makefile은이 패턴을 따릅니다. 다른 모든 기능은 바로 가기 및 매크로입니다.
program: main.o dbAdapter.o
gcc -o program main.o dbAdapter.o
main.o: main.c dbAdapter.h
gcc -c main.c
dbAdapter.o dbAdapter.c dbAdapter.h
gcc -c dbAdapter.c
여기서 중요한 점은 Makefile은 규칙을 순차적으로 살펴보고 특정 항목이 필요할 때 빌드된다는 것입니다.
처음에는 프로그램을보고 프로그램을 빌드하는 것을 보게됩니다. main.o와 dbAdapter.o가 필요합니다.
그런 다음 main.o를 찾습니다. 그러나 main.o를 빌드하려면 main.c 및 dbAdapter.h가 필요합니다 (dbAdapter.h는 main.c에 포함되어 있다고 가정합니다).
gcc를 사용하여 main.o를 컴파일하여 소스를 사용합니다. -c는 컴파일 만하려는 것입니다.
dbAdapter.o에서도 동일한 작업을 수행합니다. 두 개의 오브젝트 파일이 있으면 링크 할 준비가 된 것입니다. 이 단계에서도 gcc 컴파일러를 사용합니다. -o는 program이라는 파일을 생성하고 있음을 나타냅니다.
관련 문제
- 1. 여러개의 C 소스 파일을 연결하십시오.
- 2. 여러개의 프로젝트 브랜치가 메이븐과 함께
- 3. Python : 여러개의 setup.py 파일을 가진 패키지
- 4. make와 ant의 실제 유틸리티는 무엇입니까?
- 5. 함께 Java 클래스 컴파일
- 6. 여러개의 AJAX asyncfileupload가 C# 코드 뒤에서 생성되었습니다
- 7. C++을 텍스트 메이트와 함께 컴파일
- 8. 윈도우 플랫폼에서의 make와 대안, 장단점
- 9. 여러개의 libs와 하나의 exe가있는 QtCreator 프로젝트
- 10. GNU Make와 NMake에서 기본적으로 다른 makefile 사용하기
- 11. Windows에서 루비와 함께 openssl 컴파일
- 12. 스핑크스로 여러개의 개별 문서
- 13. JPA Hibernate는하여 여러개의 쿼리
- 14. 여러 언어를 함께 컴파일
- 15. 리눅스에서 mingw와 함께 opengl 컴파일
- 16. 디렉토리의 모든 C 파일을 별도의 프로그램으로 컴파일
- 17. dbus 헤더 파일을 사용하여 C 프로그램 컴파일
- 18. flex 파일을 DLL로 컴파일
- 19. 여러개의 중첩 된 객체 생성하기
- 20. 배치 파일을 EXE 파일로 컴파일
- 21. Java to C 컴파일 컴파일
- 22. fastcgi 용 C 컴파일
- 23. 컴파일 문제 C++
- 24. C 컴파일 오류
- 25. 자바와 함께 박쥐 파일을 실행
- 26. 컴파일 C 파일 jni.h
- 27. GumStix에서 사용하기위한 부스트 컴파일 GumROS와 함께 Overo
- 28. C 코드를 Visual C++ dll로 컴파일 하시겠습니까?
- 29. VS2010 및 C/C++에서 배경 컴파일
- 30. C++ 컴파일 이해
방금 업데이트했으며 피드백을 듣게되어 기쁩니다. –
링크가 현재 죽었습니다. – Pat
@MichaelAaronSafyan 크로스 플랫폼 지원을 목표로하므로 Windows에서 $ (program_name) .exe로 출력 할 때 프로그램 파일을 정리하는 데 필요한 조언이 있습니까? –