From: Stefan Weil <weil@mail.berlios.de>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] Use standard header for offsetof
Date: Fri, 06 Jun 2008 21:44:42 +0200 [thread overview]
Message-ID: <484993AA.2050603@mail.berlios.de> (raw)
In-Reply-To: <4845B6A4.2070301@codemonkey.ws>
Anthony Liguori schrieb:
> Stefan Weil wrote:
>> Anthony Liguori schrieb:
>>>
>>> I don't understand why you're adding #include <stdef.h> to files
>>> that do not define offsetof. What's the rationale for that?
>>>
>>> Regards,
>>>
>>> Anthony Liguori
>>>
>> There were several possible ways to replace the defines for offsetof.
>> After removing the defines, I could
>>
>> 1) include stddef.h at the places where offsetof was defined formerly
>
> This seems like the most logically thing to do to me. Otherwise,
> you're unnecessarily increasing the number of #include's in C files.
>
exec-all.h is one of these places. Adding #include <stddef.h> there
reduces the number of #include statements
in C sources, but now all sources which need exec-all.h also include
stddef.h during compilation.
So this increases the number of included headers during a compilation.
If you prefer source files without many includes, you can put all system
includes in some central project headers.
Many projects do this, and Qemu's qemu-common.h is an example for this
approach. You could add the #include
for stddef.h there.
I prefer minimized dependencies and short compile times, so I include
system headers only at the places which need them.
The choice between both alternatives also depends on your compiler:
nowadays most C compilers are clever enough
not to parse a system header file more than once while compiling a C
source which has several references to it.
This is in favour of my prefered choice. But other compilers use
precompiled headers, and for MS C with precompiled
headers, few large header files are better. So there is no clear winner
for all situations.
Qemu has no clear strategy for header file inclusion: qemu-common.h is
used by many source files and includes stdio.h,
but some files (for example osdep.h) include both qemu-common.h and stdio.h.
Regards
Stefan
next prev parent reply other threads:[~2008-06-06 19:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-01 17:37 [Qemu-devel] [PATCH] Use standard header for offsetof Stefan Weil
2008-06-02 6:21 ` Johannes Schindelin
2008-06-03 19:08 ` Anthony Liguori
2008-06-03 21:03 ` Stefan Weil
2008-06-03 21:24 ` Anthony Liguori
2008-06-06 19:44 ` Stefan Weil [this message]
2008-06-06 19:58 ` Andreas Färber
2008-06-09 10:30 ` Ian Jackson
2008-06-06 20:32 ` Anthony Liguori
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=484993AA.2050603@mail.berlios.de \
--to=weil@mail.berlios.de \
--cc=qemu-devel@nongnu.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).