Programm ohne CRT
-
lies dir die doku von CreateThread mal durch...
Wenn du hiermit einen Thread erstellst, entstehen lecks im Speicher, wenn man die CRT verwendet.
-
Script-Styler schrieb:
Ich wollte die CRT einfach nicht statisch linken. Außerdem wollte / konnte ich diese nicht benutzen, weil ich den Thread mit CreateThread und nicht mit _beginthread erstellt habe. Ich brauche einfach den beschissenen Handle...
Dann nimm doch _beginthreadex !
Auch ist bei dem ganzen Leak-Zeugs nicht der Aufruf mit "CreateThread" das Problem, sondern das beenden mit "return" anstatt mit "_endthread". Wenn Du den Thread mit "_endthread" beendest, entsteht auch kein Leak.
-
Ja, da haste recht, habisch falsch formuliert.
Aber, ich habe jetzt mein Programm ohne CRT auf einem frischen Rechner getestet und das geht immernoch nicht!!! Ich will aber, dass mein Programm ohne die CRT läuft. Wie kann ich denn überprüfen, warum es nicht läuft?
-
muss man nicht irgendwas in den Projekteinstellungen -> C++ -> Code generation ändern??
-
ich könnte mir vorstellen (das bei visual studio) man garnicht ohne CRT ein C Programm schreiben kann. Man kann ja auch nur auswählen, dynamisch oder statisch aber nicht ohne. Wie gesagt ist ja auch schwachsinnig ein C Programm ohne die CRT.
Aber ich versteh immernoch nicht wo das Problem liegt.
-
ByteBooster schrieb:
lies dir die doku von CreateThread mal durch...
Wenn du hiermit einen Thread erstellst, entstehen lecks im Speicher, wenn man die CRT verwendet.
Ja aber nur wenn man Funktionen von der CRT in dem Thread verwendet. Darauf kann man ja verzichten, d.h. ja aber nicht das man gleich komplett ohne CRT arbeitet.
schirrmie
-
Doch, man kann dem Linker sagen, dass er die CRT auslassen soll.
Dann hat man aber nur noch die reine WinAPI.
-
Hi,
ich verstehe das Problem nicht aber man kann die CRT per /NODEFAULTLIB oder Projekt-> ...-Eigenschaften->Linker und dann einfach Standardbibliotheken ignorieren. Oder hab ich was falsch verstanden?
-
schirrmie schrieb:
ich könnte mir vorstellen (das bei visual studio) man garnicht ohne CRT ein C Programm schreiben kann.
Man kann...
Siehe:
http://blog.kalmbach-software.de/2008/02/02/smallest-application-size-for-win32-console-application/Und klar: *theoretisch* braucht man die CRT in einem Thread nie verwenden! Aber wie überprüfst Du das? Deshalb: _beginthreadex oder _endthread
-
Schon etwas älter, aber passend zu diesem Thema: