[C++]Funktionen in Headerfiles

J!0X

Ensign
Registriert
Juni 2005
Beiträge
147
Hallo!
Kann ich, um mein Programm so klein wie möglich zu bekommen, einzelne Funktionen aus der z.B. conion.h bekommen? Wenn ich die Headerfiles öffne sind nur die Prototypen vorhanden. Wo sind die definierten Funktionen?
MfG J!0X
 
z.b. conio.c?
 
ne, irgentwie nicht .. wo soll die denn sein?
 
Die Funktionsdefinitionen sind immer in den entsprechenden c-Dateien.
Wenn Microsoft die nicht mitliefert, dann hast du Pech ;).
 
Hm, ich habe Dev-Cpp und dort sind nur die Headerfiles und die Librarys.
 
Beim Dev-Cpp ist der Sourcecode der Headers nicht dabei.

Wenn sie dabei wären, dann müssten sie wahrscheinlich Geld verlangen, da die conio.h ja z.B. von Borland ist und sich nur jemand die Mühe gemacht sie für den Dev-Cpp zu implementieren.
 
Wenn Dein Programm eine minimale Grösse haben soll, programmierst Du am besten in Assembler :-).
Für die Runtime Bibliotheken ist selten der Sourcecode dabei. Und selbst wenn, wäre es nicht so einfach da einfach eine Funktion herauszuziehen und den Rest einfach wegzulassen. Da bestehen oft Abhängigkeiten untereinander.

MfG

Arnd
 
Jetzt wüsste ich trotzdem gerne mal, mit welchen Funktionen die Entwickler von .kkrieger gearbeitet haben. Im Endeffekt brauchen sie doch auch die Standardbibleothek und die ist größer als 96 KB.
MfG david
 
Die Bibliotheken werden ja auch dynamisch eingebunden und nicht statisch (es sei denn, man macht das explizit beim Compiliervorgang, ist aber nur sinnvoll bei Bibliotheken, die nicht zum Standardumfang gehören und auch da würde ich eher davon abraten).
 
Das bedeutet im Klartext :D ?
 
dynamisch zu linken wäre allerdings für ein solches spiel betrug. schließlich passt das spiel dann nichtmehr 15x auf eine diskette, wenn man noch eine mehrere mb große dll im system haben muss.

wenn man sein programm so klein wie möglich haben will sollte man statisch linken. dabei werden nur die verwendeten teile der bibliotheken in das binary gelinkt, und man braucht hinterher auch nicht zu schummeln ;).

wenn das dann noch nicht klein genug ist kann man die standard bibliothek auch ganz weglassen.
in der regel reicht es allerdings einfach die finger von den templates zu lassen und statisch zu linken um sehr kleine binaries zu bekommen (abgesehen davon das man natürlich die compiler optimierungen umstellen muss. schneller code ist in der regel unverträglich mit kleinen binaries ;)).
 
Ok.. Welche Kommandozeilenparameter muss ich denn an den Linker übergeben, um statisch zu linken?
 
das kommt selbstverständlich auf den linker an :p. am einfachsten(oder zumindest am schnellsten :rolleyes:) wird das wohl in der dokumentation deines linkers zu finden sein....
 
Okay, danke für eure Hilfe..
 
Zurück
Oben