GCC 3.4

feanor의 이미지

http://gcc.gnu.org/gcc-3.4/
http://gcc.gnu.org/gcc-3.4/changes.html

GCC 3.4.0이 릴리즈 되었습니다.

ChangeLog에서 흥미로운 것 몇가지를 골라 보면,

*Precompiled headers are now supported.
*GCC now has a correct implementation of #import and #pragma once.
*G++ is now much closer to full conformance to the ISO/ANSI C++ standard.
*A hand-written recursive-descent C++ parser has replaced the YACC-derived C++ parser from previous GCC releases.
*Eclipse 2.x will run out of the box using gij.
*Tuning for K8 (AMD Opteron/Athlon64) core is available via -march=k8 and -mcpu=k8.
*Substantial improvements in compile time have been made, particularly for non-optimizing compilations.
*A vast number of bugs have been fixed in 3.4.0. Query the Bugzilla database for the list of over 900 bugs fixed in 3.4.0.

--feanor

eminency의 이미지

feanor wrote:
*A hand-written recursive-descent C++ parser has replaced the YACC-derived C++ parser from previous GCC releases.

원래 그럼 g++의 파서가 yacc를 쓰지 않고 직접 작성된 것이었다는 얘긴가요? 사실이라면 정말 존경스러울 따름...ㅡ.ㅡ;;;

노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5

feanor의 이미지

반대입니다. 원래 yacc이었는데 직접 작성한 걸로 바꿨다는 뜻입니다.

--feanor

su2014의 이미지

*Precompiled headers are now supported.
*A hand-written recursive-descent C++ parser has replaced the YACC-derived C++ parser from previous GCC releases.

이것만 보면 더 빨라졌다는 것 같은데 맞나염ㅁㅁㅁ

feanor의 이미지

네. C++ 컴파일이 많이 빨라졌다고 하는군요.

--feanor

monac의 이미지

su2014 wrote:
*Precompiled headers are now supported.
*A hand-written recursive-descent C++ parser has replaced the YACC-derived C++ parser from previous GCC releases.

이것만 보면 더 빨라졌다는 것 같은데 맞나염ㅁㅁㅁ

참고로 precompiled header는 일반적으로 사용되지 않습니다. 복잡한 library를 한데 엮어서 include 하는 방식의 library에서는 .pch (precompiled header)를 생성하고 이것을 include 할 수 있도록 하는데, MFC에서 많이 사용되고 있습니다. apple gcc에서 사용하려고 만든걸로 알고 있는데, 이것이 포팅된건지 자체적으로 만든건지는 모르겠군요.

다음과 같이 해보세요.
gcc -x c-header /usr/include/stdio.h -o stdio.gch

앞으로 이것을 이용하게 프로그램들을 제작한다면 (특히 C++ 라이브러리들...) 컴파일 속도가 많이 빨라질것 같습니다. qt 같은 라이브러리에서 설치시 pch를
생성하도록 하고 gcc가 지원하면 이것을 찾게끔 만들지 않을까...