From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <423B188A.5030601@altlinux.org> Date: Fri, 18 Mar 2005 21:06:02 +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: <20050312223020.GE5825@solemn.turbinal.org> <20050312225645.GD20982@basalt.office.altlinux.org> <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> In-Reply-To: <20050318174851.GN7848@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 18:06:07 -0000 Archived-At: List-Archive: List-Post: Andrey Rahmatullin пишет: > On Fri, Mar 18, 2005 at 06:18:11PM +0200, Serge Pavlovsky wrote: > >>>>>Когда я хочу скомпилить чужую с++-софтину, я беру и компилю ее. При этом >>>>>в ее исходниках уже вписаны #include и т.д. >>>> >>>>это еще почему ? >>> >>>Ну аффтар написал так. >> >>вот и ответ на ваш вопрос > > Ну так раз нет софта, поддерживающего PCH, и нет простого способа добавить > эту поддержку без патченья исходников, _ЗАЧЕМ_ они в стандартной поставке g++??? Пожалуйста, почитайте соответствующую страничку info, которая идет с gcc. Там все популярно и доступно объяснено, что, как, зачем и почему. Я вот, например, пользуюсь, получаю примерно 6-7 кратный прирост в скорости при сборке KDE/Qt-программ. Если вкратце - то для любой прилично написанной программы имеет смысл сделать что-то вроде: 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 Что-то в этом роде. В стандартной поставке прекомплированные stdc++.h играют роль именно таких вот файлов all.h, скомплириованных, правда, только с libstdc++'ными заголовками. Но для многих программ на C++ это тоже может дать неплохой прирост в производительности сборки. -- WBR, Mikhail Yakshin AKA GreyCat ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]