1 |
On Monday 15 May 2006 15:26, Duncan wrote: |
2 |
> Paul de Vrieze <pauldv@g.o> posted |
3 |
> 200605151313.22900.pauldv@g.o, excerpted below, on Mon, 15 May |
4 |
> |
5 |
> 2006 13:13:16 +0200: |
6 |
> > Actually this is only one part of the problem. Another part is caused |
7 |
> > by the fact that in general C++ programs (specially the kde/qt ones) |
8 |
> > include megabytes of header files. |
9 |
> |
10 |
> That reminds me... What ever happened to the precompiled headers thing? |
11 |
> Could it be useful for Gentoo? (I remember reading about how great |
12 |
> precompiled headers were going to be, but not fully understanding the |
13 |
> implications, and I haven't the foggiest if gcc ever got the feature.) |
14 |
|
15 |
Well, packages within gentoo could support it. It is necessary to have |
16 |
support for it in the package though. The catch with the headers is that |
17 |
only one header in a compilation can be used precompiled. Effectively |
18 |
this implies the following system: |
19 |
1 big include most stuff header. |
20 |
Each c file first includes that header |
21 |
Then includes others. |
22 |
The big include header is precompiled. |
23 |
Speedup is achieved. |
24 |
|
25 |
This means that it has consequences for the code. That makes it harder to |
26 |
use. And impossible for gentoo to enforce it. It is one of the |
27 |
consequences of the usage of includes (instead of proper modules) by C. |
28 |
|
29 |
Be aware the choice for include files and a separate preprocessor made a |
30 |
lot of sense when C was designed. C++ has them for compatibility, but for |
31 |
any new language splitting headers and body in different files no longer |
32 |
makes sense. |
33 |
|
34 |
Paul |
35 |
|
36 |
-- |
37 |
Paul de Vrieze |
38 |
Gentoo Developer |
39 |
Mail: pauldv@g.o |
40 |
Homepage: http://www.devrieze.net |