gcc와 make를 사용하여 컴파일 할 C 파일 세트가 있습니다. 빌드 프로세스가 정상적으로 작동합니다. 전처리 매크로없이 모든 소스 코드를 포함하는 하나의 C 파일을 컴파일 할 때 얻을 수 있는지 알고 싶습니다.여러 소스를 컴파일 할 때 하나의 C 파일 만들기
답변
포함됩니다
gcc -E main.c other.c another.c
이것은 stdlib 함수가 포함될 수도 있습니다. -nostdinc
-E 옵션이 잘 동작합니다. 고마워요! –
일반적으로 컴파일러를 호출하여 단일 소스 파일 만 컴파일하면 오브젝트 파일이 생성됩니다. 나중에 모든 개체 파일에서 링커를 호출하여 실행 파일을 만듭니다. 사용 가능한 원래의 C 소스 코드가 없습니다.
그러나 소스 파일을 사전 처리하기 위해 -E
옵션과 함께 gcc를 호출하는 별도의 쉘 스크립트를 만든 다음 cat
유틸리티를 사용하여 모든 소스를 단일 파일에 넣을 수 있습니다.
gcc'-E' 옵션을 사용하여 파일 전처리 만 수행합니다. – CodeButcher
@CodeButcher : 감사합니다. 내 대답이 업데이트되었습니다. –
-save-temps
옵션을 사용하면 중간 출력을 얻을 수 있습니다. 그러나 소스 파일 당 하나의 출력 파일이됩니다. 각 소스 파일은 별도로 컴파일되고 혼합 될 수없는 컴파일 단위를 나타냅니다.
-E
옵션을 사용할 수도 있지만 전처리기만 실행하고 컴파일은 계속하지 않습니다.
한 가지 간단한 방법은 다른 모든 소스 파일을 포함하는 파일을 만드는 것입니다.
$cat *.c > metafile.c
이는 '한 번 프라그'을 설정 ifndef가이 파일은 아마 스스로 컴파일 할 수 없을 것입니다 방법에 따라, 이러한 파일을 만들 것입니다. 한편
, 당신은 그 대답은 GCC에 다음을 추가하기 위해 전처리 매크로의 전개와 평가 된 모든 파일에 원하는 경우 : 다음
-save-temps
파일 당신이 GCC 컴파일러의 모든 파일을 포함 할 경우 사용할 수 있습니다 한 번에 .ii이 펼쳐진 평가 매크로
+1하지만'> metafile.c'이 아닌'> metafile.cpp' –
- 1. ANTLR v3을 사용하여 Java 소스를 컴파일 할 때 문제가 발생했습니다.
- 2. 하나의 바닐라 XSLT에서 여러 XML 파일 만들기
- 3. GNU make를 사용하여 미리 컴파일 된 여러 헤더 파일 만들기
- 4. 스핑크스의 하나의 인덱스에서 여러 소스를 사용하려면 어떻게해야합니까?
- 5. QT Creator에서 하나의 파일 컴파일
- 6. javax.tools.JavaCompiler 소스를 컴파일 할 때 classpath를 설정하는 방법은 무엇입니까?
- 7. MIPS 어셈블리 소스를 컴파일 할 때 초보자 오류 발생
- 8. Android 소스를 컴파일 할 수 없습니까?
- 9. 여러 파일 그룹 만들기
- 10. 하나의 헤더로 여러 파일 결합
- 11. 컴파일 오브젝티브 C 파일
- 12. 컴파일 오류가 발생했을 때 Emacs 컴파일 모드에서 소스를 강조하는 방법
- 13. 하나의 파일 또는 하나의 기능에 대해서만 doxygen 인라인 소스를 사용하십시오.
- 14. 하나의 파일 여러 개
- 15. C 프로그램을 컴파일 할 때 오류가 발생했습니다.
- 16. java.lang.ClassNotFoundException가 : 컴파일 할 때 com.mysql.jdbc.Driver
- 17. 하나의 asp.net 페이지에 대한 복수의 C# 파일 만들기
- 18. 하나의 단위 테스트를 여러 개로 만들기
- 19. 여러 환경을위한 하나의 설정 파일
- 20. 디자이너에서 하나의 소스를 사용하고 프로덕션에서 하나의 소스를 사용합니다.
- 21. 여러 프로젝트에 대해 하나의 MSI 만들기
- 22. 하나의 C# 프로젝트를 다른 파일로 컴파일
- 23. 컴파일 C 파일 jni.h
- 24. gcc 컴파일 및 파일 오류 만들기
- 25. CompilationTask로 컴파일 소스를 설정하는 방법
- 26. 하나의 .h 여러 .m 파일
- 27. 소스 서브 디렉토리가있는 파일 만들기
- 28. Xcode에서 여러 실행 파일 만들기
- 29. 야간 소스를 사용하여 웹킷 컴파일
- 30. Xcode 4.0에서 컴파일 소스를 어떻게 사용합니까?
왜 이것을 필요합니까? 실제 문제는 무엇을 해결하려고합니까? –
나는 C를위한 특수 목적의 정적 분석기를 만들려고하고있다. 그래서 여러 파일들을 가진 복잡한 프로젝트의 분석을 단순화하기 위해 하나의 파일에 모든 소스를 모으고 싶다. –