Board index » cppbuilder » Precompiled headers, what do the .#0x files mean?

Precompiled headers, what do the .#0x files mean?

I am trying to optimize my precompiled headers, and I am hoping that someone might be able to tell
me what the .#00 file is.  I have ( I think ) all my source files start off with
#include "pch.h"
#pragma hdrstop

So I thought that I should have one .csm file.  What makes the .#00, .#01, etc. files appear?  Are
there other hdrstop's lurking in my code?

Thanks very much,
Michael

 

Re:Precompiled headers, what do the .#0x files mean?


"Michael Wade" <no...@nohow.com> schreef in bericht
news:db17juggl7bm23kp8l3q04dos1r3f489u6@4ax.com...

Quote
> I am trying to optimize my precompiled headers, and I am hoping that

someone might be able to tell
Quote
> me what the .#00 file is.  I have ( I think ) all my source files
start off with
> #include "pch.h"
> #pragma hdrstop
> So I thought that I should have one .csm file.  What makes the .#00,

.#01, etc. files appear?  Are

Quote
> there other hdrstop's lurking in my code?

When optimized, you have 1 CSM file and 1 #00 file. Every other #01,
#02 etc file means there's a difference with the previous pre-compiled
header.

If you have more #0? files then you should carefully examine the
compiling process when making a clean build. First a lot of lines are
compiled, making up the pre-compiled header. Then every file is
compiled, only the lines of the file and some extra for headerfiles
not included in the pre-compiled header. There should not be to many
lines compiled (<10.000). If you see a file being compiled with a lot
of lines (eq >100.000) look into this file, maybe you forget the
hdrstop of pch.h.

Another way to spot the 'wrong' file is to set the intermediate
directory, make sure its empty and do a clean build. While building do
*not* refresh the directory. When you see a #01, #02 etc file, look at
the files just before and after it. Probably these are not optimized.

To make a faster build, turn of background compiling. A clean build of
my largest project on my P4 1Ghz went down from 250 seconds to 60.

Wim

Re:Precompiled headers, what do the .#0x files mean?


Quote
> I am trying to optimize my precompiled headers, and I am hoping that

someone might be able to tell

Quote
> me what the .#00 file is.  I have ( I think ) all my source files start
off with
> #include "pch.h"
> #pragma hdrstop

The #0? files have something to do with debugging. I think they contain
debugging symbols. Someone from Borland once explained what they do, but it
is difficult to search groups.google.com for #0?.

Here is a blurb from the help system (this was not easy to find)

<quote>
(Command-line switch: -He)

When this option is set, the compiler generates a file or files that contain
debug type information for all the symbols contained in the precompiled
headers. The files end with the .#xx extension, where xx is 00 for the first
file generated and is incremented for each additional type-information file
required.

Using this option dramatically decreases the size of your .OBJ files, since
debug type information is centralized and is not duplicated in each .OBJ
file.

Default = ON
</quote>

Harold Howe [TeamB]
http://www.bcbdev.com

Other Threads