[devel] gcc-3.4 precompiled headers

Mikhail Yakshin =?iso-8859-1?q?greycat_=CE=C1_altlinux=2Eorg?=
Пт Мар 18 22:40:10 MSK 2005


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]



Подробная информация о списке рассылки Devel