{{Tutorial |Titel=Portieren von Programmen und Bibliotheken |Schwierigkeit=⚫⚫⚫⚪⚪ |Vorwissen= |Sprache= [[Assembler]], [[C]],[[C++]] }} == Worum geht es in diesem Tutorial? == In diesem Tutorial geht es um portieren von Programmen und Bibliotheken aufs eigene OS. Es macht wenig Sinn alle Programme neuzuschreiben, weil es diese schon zu hunderten gibt. == Vorbereitung == Als erstes solltest du dir einen Crosscompiler für dein OS aufsetzten und ein paar Funktionen in deiner LibC implementiert haben. == Portieren == === Programme === Hier werde ich einige Programme auflisten, welche sich recht einfach portieren lassen und werde zu jedem Programm erklären welche Schritte notwendig sind. ==== FASM ==== Ich verwende als Beispiel die Version 1.69.14. ===== Benötigte Funktionen ===== int gettimeofday(struct timeval *restrict tp, void *restrict tzp); void *malloc(size_t size); void free(void *pointer); void exit ( int status ); char * getenv ( const char * name ); time_t time ( time_t * timer ); FILE *fopen(const char *filename, const char *mode); int fclose( FILE *stream); size_t fread ( void * ptr, size_t size, size_t count, FILE * stream ); size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream ); int fseek ( FILE * stream, long int offset, int origin ); long int ftell ( FILE * stream ); size_t write(int fd, const void *buf, size_t count); === Bibliotheken === Hier werde ich einige Bibliotheken auflisten, welche sich recht einfach portieren lassen und werde zu jedem Programm erklären welche Schritte notwendig sind. ==== zlib ==== Ich verwende als Beispiel die Version 1.2.5. ===== Benötigte Funktionen ===== [[Kategorie:Tutorials]]