From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <423B2E9A.7090703@altlinux.org> Date: Fri, 18 Mar 2005 22:40:10 +0300 From: Mikhail Yakshin User-Agent: Mozilla Thunderbird 1.0 (X11/20050202) X-Accept-Language: ru-ru, ru MIME-Version: 1.0 To: ALT Devel discussion list Subject: Re: [devel] gcc-3.4 precompiled headers References: <20050313043420.GB5051@wrars-comp.wrarsdomain> <1111143834.8650.6.camel@underdark.interexc.com> <20050318112258.GB7848@wrars-comp.wrarsdomain> <1111152041.8650.13.camel@underdark.interexc.com> <20050318144024.GF7848@wrars-comp.wrarsdomain> <1111158548.8625.18.camel@underdark.interexc.com> <20050318160800.GK7848@wrars-comp.wrarsdomain> <1111162691.8625.19.camel@underdark.interexc.com> <20050318174851.GN7848@wrars-comp.wrarsdomain> <423B188A.5030601@altlinux.org> <20050318193058.GO7848@wrars-comp.wrarsdomain> In-Reply-To: <20050318193058.GO7848@wrars-comp.wrarsdomain> X-Enigmail-Version: 0.90.2.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Mar 2005 19:40:15 -0000 Archived-At: List-Archive: List-Post: Andrey Rahmatullin пишет: > On Fri, Mar 18, 2005 at 09:06:02PM +0300, Mikhail Yakshin wrote: > >>Если вкратце - то для любой прилично написанной программы имеет смысл >>сделать что-то вроде: >> >>cat *.cpp *.h | grep '#include' | sort -u >all.h >> >>Скомпилировать полученный all.h в PCH: >> >>g++ $(опции) all.h >> >>и затем подключать этот all.h при сборке всех файлов: >> >>g++ -include all.h $(опции) -c somefile.cpp -o somefile.o > > Я все же больш-во программ rpmbuild'ом собираю. А эта штука нацелена в первую очередь на разработчиков, а не на сборщиков, собирающих конечный результат в пакеты. >>В стандартной поставке прекомплированные stdc++.h играют роль именно >>таких вот файлов all.h, скомплириованных, правда, только с >>libstdc++'ными заголовками. Но для многих программ на C++ это тоже может >>дать неплохой прирост в производительности сборки. > > Так как их подключить? -include в makefile пихать? Ну, например так, да. Еще, например, я видел варианты, когда в configure что-то вроде --enable-pch делается, и тогда уже в программе есть в глобально включающемся везде config.h что-то вроде: #ifdef ENABLE_PCH #include "all.h" #endif > Тем более нафик мне -O2 -g? А для разработчиков - самое оно. -- WBR, Mikhail Yakshin AKA GreyCat ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]