나는 C++의 컴파일과 링크에 관한 자세한 기사를 찾고있다. 나는 그들에 대해 많이 알고 있지만, 내가 놓친 미묘한 점이 있는지를 확신한다.C++에서 컴파일 및 링킹
답변
Linkers and Loaders은 그 주제에 대한 고전입니다. 컴파일러의 이론적 배경은 Dragon Book입니다. 정말로 컴파일러를 만들고 싶다면 Let's Build a Compiler을 읽을 가치가있다. 컴파일러에 대한 몇 가지 코스가 Stackoverflow 질문에 언급 된 비디오에 기록 된 곳입니다. Are there any compiler lectures available via video?
C++에 대한 개요는 here입니다. 나는 대부분 당신이 이미 알고있을 것이라고 생각합니다.
만약 당신이 정말로 그것을 가지고 있다면, 다른 버전의 gcc와 llvm/clang에서 소스를 읽는 것이 어떻습니까? Sun/Oracle Linker and Libraries Guide은 Sun/Solaris 플랫폼에 대한 포괄적 인 작업을 제공합니다.
훌륭한 책이지만 출판 날짜로 인해 C++ 링크 (특히 템플릿)의 많은 문제에 대해서만 다룹니다. 간략한 개요는 하나의 특정 구현에만 적용됩니다. –
@mbx : "컴파일러에서의 일부 저주"-> gcc를 많이 저주합니다. –
@Matthieu M : 아직 또 다른 시멘틱스가 오타를 바꾸고 있습니다. – mbx
Ulrich Drepper가 작성한 how tow write shared libraries이라는 논문이 있습니다. 링커 자체는 아니지만 심볼 로딩 및 분석이 작동하는 방식, 관련되는 것을 매우 깊이 설명합니다. 그것은 오직 Linux 지향적 인 방법입니다.
- 1. 아이폰 대상 링킹 오류
- 2. C에서 컴파일 오류가 발생했습니다
- 3. C에서 MIPS 어셈블리 코드 컴파일
- 4. C에서 ANTLR 3 문법 컴파일
- 5. NAT 링킹 뒤의 MySQL 링 복제
- 6. 컴파일 및
- 7. 객관적인 C에서 * .h 파일을 컴파일 리눅스
- 8. C에서 struct의 컴파일 된 정의는 어떻게 생겼습니까?
- 9. 컴파일
- 10. 수레는 C에서 반올림되고 ++ 및
- 11. C에서 StreamReader 및 버퍼 #
- 12. 외부 RoleProviders 및 컴파일?
- 13. ABCL 컴파일 및 프리미티브
- 14. CURL 및 ZLIB 컴파일
- 15. 컴파일 및 링크 오류
- 16. TextMate 및 컴파일 옵션
- 17. 컴파일 ++ g에 오류 및
- 18. Android 및 크로스 컴파일
- 19. .Net 및 C에서 코드 성능을위한 도구 #
- 20. 차이 (++ i) 및 (내가 ++) C에서
- 21. C에서 과부하 및 동적 키워드
- 22. C에서 텍스트 찾기 및 바꾸기
- 23. Unix 및 C에서 출력 리디렉션
- 24. 는 C에서 무효 변수로 컴파일 할 수 없습니다
- 25. C에서 Java 컴파일 된 클래스를로드하고 호출하는 방법은 무엇입니까?
- 26. C, Cygwin 및 drand 및 srand 컴파일
- 27. sample.java 및 jgraph_5.8.3.1.jar 컴파일
- 28. 역 컴파일 리소스 및 이론
- 29. ASP.net 성능 및 컴파일 쿼리
- 30. Java로만 JSP 컴파일 및 해석
일부는 공급 업체 또는 특정 플랫폼 일 수 있습니다. 특히 염두에 두어야 할 것이 있습니까? –
@ Christian.K 일부 이론 플러스 플랫폼 또는 벤더 특정 사례 (windows, unix), (cl, g ++) –
"많은 의미"는 무엇을 의미합니까? 특정 플랫폼 용으로 다른 어셈블러 코드를 사용하여 휴대용 C++ 래퍼를 작성하거나 작성 했습니까? "프로그래밍 언어 및 컴파일러"또는 "컴파일러 작성"과 같은 CS 저주에 대해 들었습니까? – mbx