ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Mikhail Yakshin <greycat@altlinux.org>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: Re: [devel] gcc-3.4 precompiled headers
Date: Fri, 18 Mar 2005 21:06:02 +0300
Message-ID: <423B188A.5030601@altlinux.org> (raw)
In-Reply-To: <20050318174851.GN7848@wrars-comp.wrarsdomain>

Andrey Rahmatullin пишет:
> On Fri, Mar 18, 2005 at 06:18:11PM +0200, Serge Pavlovsky wrote:
> 
>>>>>Когда я хочу скомпилить чужую с++-софтину, я беру и компилю ее. При этом
>>>>>в ее исходниках уже вписаны #include <iostream.h> и т.д.
>>>>
>>>>это еще почему ?
>>>
>>>Ну аффтар написал так.
>>
>>вот и ответ на ваш вопрос
> 
> Ну так раз нет софта, поддерживающего 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]


  reply	other threads:[~2005-03-18 18:06 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-12 22:30 Alexey Tourbin
2005-03-12 22:56 ` Dmitry V. Levin
2005-03-13  4:34   ` Andrey Rahmatullin
2005-03-18 11:03     ` Serge Pavlovsky
2005-03-18 11:22       ` Andrey Rahmatullin
2005-03-18 11:25         ` Sergey Pinaev
2005-03-18 11:28         ` Alexey Rusakov
2005-03-18 13:20         ` Serge Pavlovsky
2005-03-18 14:40           ` Andrey Rahmatullin
2005-03-18 15:09             ` Serge Pavlovsky
2005-03-18 16:08               ` Andrey Rahmatullin
2005-03-18 16:18                 ` Serge Pavlovsky
2005-03-18 17:48                   ` Andrey Rahmatullin
2005-03-18 18:06                     ` Mikhail Yakshin [this message]
2005-03-18 19:30                       ` Andrey Rahmatullin
2005-03-18 19:40                         ` Mikhail Yakshin
2005-03-19  6:53                           ` Andrey Rahmatullin
2005-03-19 21:21                             ` Dmitry V. Levin
2005-03-20  5:58                               ` [devel] " Michael Shigorin
2005-03-21  3:24                     ` [devel] " Serge Pavlovsky
2005-03-12 22:58 ` Alexey Rusakov
2005-03-18 11:03   ` Serge Pavlovsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=423B188A.5030601@altlinux.org \
    --to=greycat@altlinux.org \
    --cc=devel@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git