Summation (was ist falsch?)
-
_TCHAR ist nur ein typedef auf char.
-
FrEEzE2046 schrieb:
_TCHAR ist nur ein typedef auf char.
Warum dann nicht gleich char nehmen? Und was soll _tmain() sein?
-
mngbd schrieb:
Warum dann nicht gleich char nehmen? Und was soll _tmain() sein?
Na ist doch logisch:
//tchar.h #define _tmain wmain
int wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] );
-
FrEEzE2046 schrieb:
Na ist doch logisch:
...Hmm, was ist tchar.h? Wo bekommt man das? Und was ist wmain? Ich versteh bald gar nichts mehr.
-
Ja das sind halt die Ideen der redmonder Compilerschmiede -
Infos gibt es allerdings reichlich von denen.Wenn ihr in der IDE ein wenig herum klickt, versteht die auch halbwegs ANSI C.
-
@f.-th.
Wir meinen das nicht ganz ernst
Generell sind die Microsoft spezifischen Header meist ziemlich bescheiden zu lesen. Weil man einfach auf alles irgendein blödsinniges define gemacht hat und gruselige Einrückungen verwendet.Aber was soll's. Jeder kocht halt gern sein eignes Süppchen. So lange der Compiler neben dem ganzen extra Gedöns auch ANSI C Code versteht hab ich damit kein Problem.
Und im Visual Studio lege ich generell nur empty projects an.
-
FrEEzE2046 schrieb:
Wir meinen das nicht ganz ernst
Das hoffe ich doch.
Ich für meinen Teil komme jedenfalls hier vorbei, wenn ich über C reden will. Wenn dann so viele OS-verfärbte Posts hier stehen, vergeht mir schnell die Lust, weil ich den meisten Code gar nicht testen kann. Aus irgendeinem Grund gehts nämlich immer um das OS, das ich gerade nicht zur Hand habe.
Beckett schrieb:
Das Ding mit fflush und getchar wurde in irgendeinem Forum mal als Möglichkeit angegeben, um das automatische Beenden der Konsole zu verhindern.
Na dann halt dich am besten fern von dort. Lies mal hier weiter:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39349.html
-
Es ist meiner Meinung nach sowieso schwachsinn irgendwelche Microsoft spezifischen Defines zu verwenden. Das sollte man möglichst lassen, weil es a) überhaupt keinen Nutzen hat und b) nur dazu führt, dass andere den Code nicht ausführen können.
Erzeug immer ein leeres Projekt. Die *.c Datei anlegen und int main() {} schreiben schaffste auch alleine.
-
FrEEzE2046 schrieb:
Es ist meiner Meinung nach sowieso schwachsinn irgendwelche Microsoft spezifischen Defines zu verwenden. Das sollte man möglichst lassen, weil es a) überhaupt keinen Nutzen hat
Naja, das kann schon einen Nutzen haben. Die typedef'en das ja je nach Compiler-Einstellung auch auf ihre wide chars. In der MS-Welt ist es schon praktisch, von den String-Typen in den API's zu abstrahieren, weil manche Systeme nicht alle Varianten implementieren.
Aber hier hat das natürlich nichts verloren.
-
FrEEzE2046 schrieb:
Erzeug immer ein leeres Projekt. Die *.c Datei anlegen und int main() {} schreiben schaffste auch alleine.
Werd ich machen. Scheint auch zu funktionieren soweit. Ich war irgendwie davon ausgegangen, dass diese ganzen automatisch erstellten Dateien in den Header- Quell- und Ressourcenordnern notwendig wären.