<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Fehler beim Suchen von einer corkompilierten Header-Datei]]></title><description><![CDATA[<p>Ich fange gerade an mich in die Windows-Programmierung einzuarbeiten, und verwende<br />
für meine Programme Ms Visual C++ 6.0 AutorenVersion.<br />
Ich wollte folgendes Programm aus dem Petzold compilieren:</p>
<pre><code class="language-cpp">/* ScrnSize.cpp - Zeigt die Bildschirmgröße in einem Meldungsfenster an */

#include &lt;windows.h&gt;
#include &lt;tchar.h&gt;
#include &lt;stdio.h&gt;

int CDECL MessageBoxPrintf (TCHAR *szCaption, TCHAR *szFormat, ...) {

	TCHAR szBuffer[1024];
	va_list pArgList;

	// Das in STDARG.H definierte Makro va_start entspricht:
	// pArgList = (char *) &amp;szFormat + sizeof (szFormat);
	va_start (pArgList, szFormat);

	// Der letzte Parameter von wvsprintf zeigt auf die Parameter
	_vsntprintf (szBuffer, sizeof (szBuffer)/sizeof (TCHAR), szFormat, pArgList);

	// va_end tut nichts weiter, als pArgList auf NULL zu setzen
	va_end (pArgList);

	return MessageBox (NULL, szBuffer, szCaption, 0);

}

int WINAPI WinMain (HINSTANCE hInstace, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {

	int cxScreen, cyScreen;

	cxScreen = GetSystemMetrics (SM_CXSCREEN);
	cyScreen = GetSystemMetrics (SM_CYSCREEN);

	MessageBoxPrintf (TEXT (&quot;ScrnSize&quot;), TEXT (&quot;Ihr Desktop hat eine Höhe von %i und eine Breite
						von %i Pixeln&quot;), cxScreen, cyScreen);

	return 0;

}
</code></pre>
<p>Bekomme aber folgenden Fehler:</p>
<blockquote>
<p>Kompilierung läuft...<br />
ScrnSize.cpp<br />
e:\sources\c\winapi\scrnsize\scrnsize.cpp(39) : fatal error C1010: Unerwartetes Dateiende waehrend der Suche nach der Direktive fuer die vorkompilierte Header-Datei<br />
Fehler beim Ausführen von cl.exe.</p>
<p>ScrnSize.exe - 1 Fehler, 0 Warnung(en)</p>
</blockquote>
<p>Leider weiß ich mir beim besten Willen nicht zu helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Wofür steht eigentlich bei den Funktionen int WINAPI WinMain (); dieses WinAPI<br />
ich habe bisher noch nie so etwas gesehen (hab nur für die Konsole programmiert)<br />
da sehen die Funktionen normal so aus int main ();</p>
<p>Edit:<br />
Noch etwas, wie kann ich die Zeilenzahlen einschalten?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/54325/fehler-beim-suchen-von-einer-corkompilierten-header-datei</link><generator>RSS for Node</generator><lastBuildDate>Mon, 01 Jun 2026 17:45:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/54325.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Nov 2003 12:51:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Thu, 06 Nov 2003 12:54:37 GMT]]></title><description><![CDATA[<p>Ich fange gerade an mich in die Windows-Programmierung einzuarbeiten, und verwende<br />
für meine Programme Ms Visual C++ 6.0 AutorenVersion.<br />
Ich wollte folgendes Programm aus dem Petzold compilieren:</p>
<pre><code class="language-cpp">/* ScrnSize.cpp - Zeigt die Bildschirmgröße in einem Meldungsfenster an */

#include &lt;windows.h&gt;
#include &lt;tchar.h&gt;
#include &lt;stdio.h&gt;

int CDECL MessageBoxPrintf (TCHAR *szCaption, TCHAR *szFormat, ...) {

	TCHAR szBuffer[1024];
	va_list pArgList;

	// Das in STDARG.H definierte Makro va_start entspricht:
	// pArgList = (char *) &amp;szFormat + sizeof (szFormat);
	va_start (pArgList, szFormat);

	// Der letzte Parameter von wvsprintf zeigt auf die Parameter
	_vsntprintf (szBuffer, sizeof (szBuffer)/sizeof (TCHAR), szFormat, pArgList);

	// va_end tut nichts weiter, als pArgList auf NULL zu setzen
	va_end (pArgList);

	return MessageBox (NULL, szBuffer, szCaption, 0);

}

int WINAPI WinMain (HINSTANCE hInstace, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {

	int cxScreen, cyScreen;

	cxScreen = GetSystemMetrics (SM_CXSCREEN);
	cyScreen = GetSystemMetrics (SM_CYSCREEN);

	MessageBoxPrintf (TEXT (&quot;ScrnSize&quot;), TEXT (&quot;Ihr Desktop hat eine Höhe von %i und eine Breite
						von %i Pixeln&quot;), cxScreen, cyScreen);

	return 0;

}
</code></pre>
<p>Bekomme aber folgenden Fehler:</p>
<blockquote>
<p>Kompilierung läuft...<br />
ScrnSize.cpp<br />
e:\sources\c\winapi\scrnsize\scrnsize.cpp(39) : fatal error C1010: Unerwartetes Dateiende waehrend der Suche nach der Direktive fuer die vorkompilierte Header-Datei<br />
Fehler beim Ausführen von cl.exe.</p>
<p>ScrnSize.exe - 1 Fehler, 0 Warnung(en)</p>
</blockquote>
<p>Leider weiß ich mir beim besten Willen nicht zu helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Wofür steht eigentlich bei den Funktionen int WINAPI WinMain (); dieses WinAPI<br />
ich habe bisher noch nie so etwas gesehen (hab nur für die Konsole programmiert)<br />
da sehen die Funktionen normal so aus int main ();</p>
<p>Edit:<br />
Noch etwas, wie kann ich die Zeilenzahlen einschalten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388004</guid><dc:creator><![CDATA[SirLant]]></dc:creator><pubDate>Thu, 06 Nov 2003 12:54:37 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Thu, 06 Nov 2003 12:53:21 GMT]]></title><description><![CDATA[<p>du musst in die cpp datei noch die stdafx.h includieren.</p>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388005</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Thu, 06 Nov 2003 12:53:21 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Thu, 06 Nov 2003 12:56:52 GMT]]></title><description><![CDATA[<p>Das ändert leider auch nichts und im Petzold wird die auch nicht verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388012</guid><dc:creator><![CDATA[SirLant]]></dc:creator><pubDate>Thu, 06 Nov 2003 12:56:52 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Thu, 06 Nov 2003 13:01:17 GMT]]></title><description><![CDATA[<p>devil hat recht... das steht im petzold nur nich drin weil der seine programme nich mit dem assistenten erstellt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/388017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388017</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Thu, 06 Nov 2003 13:01:17 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Thu, 06 Nov 2003 13:05:33 GMT]]></title><description><![CDATA[<p>Danke, jetzt klappt es, hatte ausversehen stdfax statt stdafx geschrieben.<br />
Könntet ihr mir noch meine 2. und 3. Frage beantworten?<br />
Und wofür ist die stdafx.h gut bzw. was steht da drin?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388023</guid><dc:creator><![CDATA[SirLant]]></dc:creator><pubDate>Thu, 06 Nov 2003 13:05:33 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Thu, 06 Nov 2003 13:12:25 GMT]]></title><description><![CDATA[<p>is nur ne konfigurationsdatei in der der assistent alle nötige einstellt/einbindet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388030</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Thu, 06 Nov 2003 13:12:25 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Thu, 06 Nov 2003 22:15:17 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1573">@Sovok</a>: nicht ganz <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>&quot;Vorkompilierte Header&quot; beschleunigen die Übersetzung. Dazu sollte stdafx.h Header_Dateien einbinden, die in den meisten Projektdateien vorhanden sind und sich nicht (oder nur selten) verändern.</p>
<p>Hintergrund:<br />
Wenn ein C++-Programm übersetzt wird, nimmt der Compiler sich jede CPP-Datei einzeln vor, und übersetzt das, was drin steht. der Linker bindet dann die &quot;Ergebnisse&quot; jeder .cpp - Datei zu einer .exe (oder .dll oder was auch immer) zusammen. #include's funktionieren dabei wie reiner Textersatz.</p>
<p>Wenn man mit größeren Bibliotheken (z.B. der WinAPI oder der MFC) arbeitet, müssen für jede .cpp-Datei eine Menge Header-Dateien abgearbeitet werden. Um das zu beschleunigen, gibt es vorkompilierte Header: Der Compiler merkt sich die kompletten Symboltabellen der Header-Dateien, und muß die #includes nicht wiederholt abarbeiten. Das geht natürlich nur, wenn die Header in der gleichen Reihenfolge (und mit absolut identischen voranstehenden Deklarationen, #defines usw.) #includiert werden.</p>
<p>Diese Symboltabellen werden aber ziemlich groß (.pch bei C++, ein paar MB für ein Windows/MFC - Projekt), von daher sind dem vorkompilieren Mengengrenzen gesetzt.</p>
<p>Visual C++ macht nun (mit den Assistenten-Standardeinstellungen) folgendes:</p>
<p>- in stdafx.h kommen alle header, die vorzukompilieren sind<br />
- In den projekteinstellungen wird für stdafx.cpp &quot;vorkompilierte header aus dieser Datei erstellen&quot; gesetzt<br />
- Für alle .cpp anderen Dateien (und als default für neue) wird &quot;vorkompilierte Header aus stdafx.h verwenden&quot; gesetzt<br />
- Beim Übersetzen wird als erstes stdafx.cpp übersetzt (natürlich nur wenn die .pch fehlt oder sich etwas geändert hat)<br />
dabei wird die .pch - Datei erzeugt<br />
- bei allen anderen .cpp dateien für die &quot;votrkompilierte header verwenden&quot; eingestellt ist, wird nach dem ersten auftauchen<br />
von #include &quot;stdafx.h&quot; (oder dem entsprechenden header) gesucht. Wenn es gefunden wird, wird die .pch-Symboltabelle &quot;angenommen&quot; und weiter<br />
übersetzt</p>
<p>ACHTUNG: zumindest VC6 ignoriert z.B. #defines vor dem #include &quot;stdafx.h&quot; völlig!</p>
<p>Da damit stdafx.h als allerersteDatei in allen .cpp - Dateien #includiert werden muß, ist es auch ein bequemer Platz um globale Projektdefinitionen unterzubringen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388524</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Thu, 06 Nov 2003 22:15:17 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Thu, 06 Nov 2003 23:00:44 GMT]]></title><description><![CDATA[<p>Vielen Dank, dann macht diese Datei auch Sinn <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Könntet ihr mir noch folgendes beantworten:</p>
<blockquote>
<p>Wofür steht eigentlich bei den Funktionen int WINAPI WinMain (); dieses WinAPI<br />
ich habe bisher noch nie so etwas gesehen (hab nur für die Konsole programmiert)<br />
da sehen die Funktionen normal so aus int main ();</p>
<p>Noch etwas, wie kann ich die Zeilenzahlen einschalten?</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/388538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388538</guid><dc:creator><![CDATA[SirLant]]></dc:creator><pubDate>Thu, 06 Nov 2003 23:00:44 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Fri, 07 Nov 2003 07:45:41 GMT]]></title><description><![CDATA[<p>rechtsklick auf das wort-&gt;gehe zu definition von ...</p>
<p>-&gt; #define WINAPI __stdcall</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388596</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Fri, 07 Nov 2003 07:45:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Fri, 07 Nov 2003 08:07:29 GMT]]></title><description><![CDATA[<p>In der Statusleiste hast du Zeilen und Spaltenanzeige.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388607</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 07 Nov 2003 08:07:29 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Fri, 07 Nov 2003 11:35:03 GMT]]></title><description><![CDATA[<p>estartu_de schrieb:</p>
<blockquote>
<p>In der Statusleiste hast du Zeilen und Spaltenanzeige.</p>
</blockquote>
<p>Heißt das, dass ich niemals direkt in eine Zeile 153 gehen kann ohne auf jede Zeile<br />
zu klicken und schauen wie weit ich bin?<br />
Die werden für den schmalen Rand neben dem weißen Blatt doch wo eine Option haben<br />
um Zeilennummern einzublenden, das kann doch wirklich jeder richtige Editor oder<br />
jede IDE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388788</guid><dc:creator><![CDATA[SirLant]]></dc:creator><pubDate>Fri, 07 Nov 2003 11:35:03 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Fri, 07 Nov 2003 11:41:51 GMT]]></title><description><![CDATA[<p>strg+g -&gt; nummer eingeben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388792</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Fri, 07 Nov 2003 11:41:51 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Fri, 07 Nov 2003 11:52:17 GMT]]></title><description><![CDATA[<p>Gibt es in neueren Versionen, Zeilennummern?<br />
Sonst muss ich es mir doch mal gründlich überlegen ob ich mir nicht lieber<br />
den BCB hole(hoffe der hat sowas, weiß das wer?).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388802</guid><dc:creator><![CDATA[SirLant]]></dc:creator><pubDate>Fri, 07 Nov 2003 11:52:17 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Fri, 07 Nov 2003 12:10:18 GMT]]></title><description><![CDATA[<p>Visual Studio .NET kann Zeilennummern anzeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388811</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 07 Nov 2003 12:10:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Fri, 07 Nov 2003 12:40:34 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4882">@SirLant</a><br />
Ich weiß ja nicht, wofür du's brauchst, aber Zeilennummernanzeige ist m.E. ein sehr schwaches Kriterium. An Compiler-Fehler usw. kommst du mit doppelklick oder F4 ran, für externe Tools kannst du das oft ähnlich einstellen, und wenn du mal auf eine Zeile springen mußt - Ctrl-G (selbst das brauch ich selten...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/388839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/388839</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Fri, 07 Nov 2003 12:40:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Suchen von einer corkompilierten Header-Datei on Fri, 07 Nov 2003 19:05:45 GMT]]></title><description><![CDATA[<p>Finde es einfacher, da ich so schnell durchscrollen kann, aber wenn die neuen<br />
Versionen das haben ist es eh kein Thema für mich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/389178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/389178</guid><dc:creator><![CDATA[SirLant]]></dc:creator><pubDate>Fri, 07 Nov 2003 19:05:45 GMT</pubDate></item></channel></rss>