473,406 Members | 2,208 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

header file size effect

hi group,

Does the header file size or number in include(s) effect the size of
executable file?
In other world if i chose a large header file and include it with my
source file does it increase the size of the executable outcome at the
end?

thanks
Feb 19 '08 #1
6 3413

"bobby" <bs*****@gmail.comwrote in message
news:65**********************************@41g2000h sc.googlegroups.com...
hi group,

Does the header file size or number in include(s) effect the size of
executable file?
In other world if i chose a large header file and include it with my
source file does it increase the size of the executable outcome at the
end?
Typically no.
Header usually contain prototypes and definitions of constants and
structures. All this textual apparatus is stripped away in the process of
compilation. Only code you actually call will inflate the executable.

--
Free games and programming goodies.
http://www.personal.leeds.ac.uk/~bgy1mm

Feb 19 '08 #2
On Feb 19, 11:13 am, "Malcolm McLean" <regniz...@btinternet.com>
wrote:
"bobby" <bsim...@gmail.comwrote in message

news:65**********************************@41g2000h sc.googlegroups.com...hi group,
Does the header file size or number in include(s) effect the size of
executable file?
In other world if i chose a large header file and include it with my
source file does it increase the size of the executable outcome at the
end?

Typically no.
Header usually contain prototypes and definitions of constants and
structures. All this textual apparatus is stripped away in the process of
compilation. Only code you actually call will inflate the executable.

--
Free games and programming goodies.http://www.personal.leeds.ac.uk/~bgy1mm
This make sense
However I searched and found this forum at : http://forums.pcquest.com/forum/viewtopic.php?t=3999
that indicate "the larger the size of the header file , larger the
size of ur executable"
moreover it adds "Since this is a case of static binding, more the
size of ur executable, more is the system memory utilization"

It also recommend to divide header file into parts/groups so that your
program runs faster and their is no unnecessary searching which might
result in collision of declarations. comes from http://www.codeguru.com/cpp/tic/tic0056.shtml

I appreciate if you can clarify this for me

thanks
Feb 19 '08 #3
"bobby" wrote:

c1**********@e23g2000prf.googlegroups.com...
On Feb 19, 11:13 am, "Malcolm McLean" <regniz...@btinternet.com>
wrote:
>"bobby" <bsim...@gmail.comwrote in message

news:65**********************************@41g2000 hsc.googlegroups.com...>
hi group,
Does the header file size or number in include(s) effect the size of
executable file?
In other world if i chose a large header file and include it with my
source file does it increase the size of the executable outcome at the
end?

Typically no.
Header usually contain prototypes and definitions of constants and
structures. All this textual apparatus is stripped away in the process of
compilation. Only code you actually call will inflate the executable.

--
Free games and programming
goodies.http://www.personal.leeds.ac.uk/~bgy1mm

This make sense
However I searched and found this forum at :
http://forums.pcquest.com/forum/viewtopic.php?t=3999
that indicate "the larger the size of the header file , larger the
size of ur executable"
moreover it adds "Since this is a case of static binding, more the
size of ur executable, more is the system memory utilization"

It also recommend to divide header file into parts/groups so that your
program runs faster and their is no unnecessary searching which might
result in collision of declarations. comes from
http://www.codeguru.com/cpp/tic/tic0056.shtml

I appreciate if you can clarify this for me
Taking what you said at face value, I would say there is a lot of
mis-information on the Web. Printed too. I saw an article that said C dd
not have a "go to". In the second graf, they said "program" when they meant
"compiler"
Feb 19 '08 #4

"bobby" <bs*****@gmail.comwrote in message
news:f6**********************************@e23g2000 prf.googlegroups.com...
On Feb 19, 11:13 am, "Malcolm McLean" <regniz...@btinternet.com>
wrote:
>"bobby" <bsim...@gmail.comwrote in message

news:65**********************************@41g2000 hsc.googlegroups.com...>
hi group,
Does the header file size or number in include(s) effect the size of
executable file?
In other world if i chose a large header file and include it with my
source file does it increase the size of the executable outcome at the
end?

Typically no.
Header usually contain prototypes and definitions of constants and
structures. All this textual apparatus is stripped away in the process of
compilation. Only code you actually call will inflate the executable.
This make sense
However I searched and found this forum at :
http://forums.pcquest.com/forum/viewtopic.php?t=3999
that indicate "the larger the size of the header file , larger the
size of ur executable"
moreover it adds "Since this is a case of static binding, more the
size of ur executable, more is the system memory utilization"
That thread was possibly about why standard C headers such as stdio.h,
time.h, always seem to be included individually, and what the penalty would
be of simply including all of them.

In fact why not just include all of them (by using a new header that just
contains a dozen or two #includes), in every program instead of having to
pick and choose every time? All the standard headers combined is still tiny
compared with say windows.h, it shouldn't affect compilation times:

#include <stdc.h>

Seems simple to me.

--
Bart


Feb 19 '08 #5

"bobby" <bs*****@gmail.comwrote in message
news:f6**********************************@e23g2000 prf.googlegroups.com...
This make sense
However I searched and found this forum at :
http://forums.pcquest.com/forum/viewtopic.php?t=3999
that indicate "the larger the size of the header file , larger the
size of ur executable"
moreover it adds "Since this is a case of static binding, more the
size of ur executable, more is the system memory utilization"

It also recommend to divide header file into parts/groups so that your
program runs faster and their is no unnecessary searching which might
result in collision of declarations. comes from
http://www.codeguru.com/cpp/tic/tic0056.shtml

I appreciate if you can clarify this for me
That could be about C++.
In C++ the convention is to place inline code into header files. Inlined
functions do blow u[ the size of the executable. Though it isn't likely to
be an issue on modern PCs, some early programmers got a shock when they saw
just how big their C++ programs were in relation to the same program in C.

--
Free games and programming goodies.
http://www.personal.leeds.ac.uk/~bgy1mm

Feb 19 '08 #6
bobby wrote:
On Feb 19, 11:13 am, "Malcolm McLean" <regniz...@btinternet.com>
wrote:
>"bobby" <bsim...@gmail.comwrote in message

news:65**********************************@41g2000 hsc.googlegroups.com...hi group,
>>Does the header file size or number in include(s) effect the size of
executable file?
In other world if i chose a large header file and include it with my
source file does it increase the size of the executable outcome at the
end?
Typically no.
Header usually contain prototypes and definitions of constants and
structures. All this textual apparatus is stripped away in the process of
compilation. Only code you actually call will inflate the executable.

This make sense
However I searched and found this forum at : http://forums.pcquest.com/forum/viewtopic.php?t=3999
that indicate "the larger the size of the header file , larger the
size of ur executable"
moreover it adds "Since this is a case of static binding, more the
size of ur executable, more is the system memory utilization"

It also recommend to divide header file into parts/groups so that your
program runs faster and their is no unnecessary searching which might
result in collision of declarations. comes from http://www.codeguru.com/cpp/tic/tic0056.shtml

I appreciate if you can clarify this for me
Sure. The first thing you quote is utter and absolute garbage. The
second one is largely about C++ rather than C; I've not read it
thoroughly, but you need to think carefully about the summary you gave.
How many header files will need to be searched if all the relevant
information is in one header? How many will need to be searched if it is
split over several headers? How likely are you to accidentally duplicate
names and declarations if you are maintaining several headers rather
than one?

It's important to think carefully how to arrange your information in
headers. Neither "one" nor "many" is the right answer for all cases. for
small programs with a few .c files, a single header often makes sense.
For larger projects, especially ones which are logically split into
different groups of functionality, it might make sense to have a header
for each of these groups containing the information which is essentially
private to that group, and another to contain all the program-wide
information which pulls the whole thing together.

In general, things like how long it takes to search headers are the last
things you should be worrying about. Forget about it, arrange your
headers logically for the overall program structure. Search times are
only likely to possibly become an issue with really huge projects, and
by the time you're in a position to be making decisions about things
like that you should have enough experience to get it right. One thing
to remember is that these are all compile-time issues only, they have no
effect on the final program. You're worrying about saving milliseconds
of compilation time for small projects, not normally something worth the
effort.
Feb 19 '08 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: Daniel Nichols | last post by:
I've noticed that in a C module (.c, .h file combination) that if you create a function's definition before it is used in other functions than a declaration is not necessary. I believe if the...
0
by: Lokkju | last post by:
I am pretty much lost here - I am trying to create a managed c++ wrapper for this dll, so that I can use it from c#/vb.net, however, it does not conform to any standard style of coding I have seen....
18
by: Al | last post by:
I'm still trying to do this but it never worked! In a .cpp file, I write the code, and at the beginning, I write: #ifndef MYLIST_H #define MYLIST_H ....to end: #endif What's wrong with it for...
1
by: C. Jayachandran | last post by:
I've inherited some code which has const std::string values defined in a header file, like const std::string str = "foo"; This causes a large amount of bloat, as all the compilation units...
5
by: Jefferis NoSpamme | last post by:
Hi all, I'm trying to limit the file size of an image submission and I keep running into various problems. I've got most of it working, but I'm stumped and I have a basic question as to WHY this...
14
by: Jess | last post by:
Hello, I was told that if I have a template class or template function, then the definitions must be put into the header file where I put the declarations. On the other hand, it is generally...
0
by: rwingv | last post by:
Hi, This is my first post, so please be patient. I am also relatively new to C# on an XP machine, which is what I am attempting to code in. Here my problem: I am modifying code already...
3
by: Xohaib | last post by:
hey guys i wnat to make a my own header file like i want that i make a header file exmple.h and i want that when i use exmple.h i should not need to include iostream.h and one other header files...
11
by: subramanian100in | last post by:
Suppose the following is in Test.h #ifndef TEST_H #define TEST_H #include <iostream> #include <string> using namespace std;
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.