Re: Preprocessor: Einbinden von Header Dateien

Thomas Hertweck <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>

Andre Heine wrote:
> 
> Die Frage(n) ist/sind vielmehr: 
> 
> Warum braucht man _zwei_ "second.h"?
> 
> Wie sehen die headerfiles überhaupt innen aus?
> 
> ---
> #ifndef _SECOND_H_
> #define _SECOND_H_
> 
> // kram, zeugs, 
> 
> #endif
> 
> -----
> 
> Warum kann man nicht "dir1/second.h" und "dir2/second.h" verwenden?
> 
> Meines erachtens ist hier die "Organisation" Deines Prokjektes/ Codes nicht 
> wirklich schön...
> 
> *SCNR*

Lies doch bitte die urspruenglichen Postings durch, bevor Du Mitten in
eine Diskussion einsteigst, die Du offensichtlich nicht so ganz verfolgt
hast oder verstehst, denn da wurde erwaehnt, wann solch eine Situation
vorkommen kann. In einem Produktionssystem kommt es sicherlich nicht
vor, dass ein  Header File mehrmals vorhanden ist (es sei denn, das
System ist schlecht designed), wohl aber waehrend der Entwicklung von
Code oder dem Arbeiten an Veraenderungen (es sei denn, Du arbeitest
staendig mit einem kompletten Baum des ganzen Projekts - da wir hier
aber von Tausenden von Dateien und Millionen von Codezeilen sprechen,
ist das nur bedingt machbar in der Praxis). Dann hast Du z.B. systemweit
installierte Header und evtl. lokale Kopien einiger Header, um Deine
Aenderungen einzupflegen. Daher stellt sich durchaus die Frage, wie sich
ein Praeprozessor korrekt verhalten sollte beim Einbinden der Header.
Zur Beantwortung dieser Frage hast Du ja leider nicht all zu viel
beigetragen. Natuerlich haben alle Header include Guards etc., es geht
hier nicht um Fehler von Programmieranfaengern, sondern um ein Problem,
das mitunter in der Praxis auftritt.

Gruesse,
Thomas
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.