Portieren von Programmen und Bibliotheken
| Portieren von Programmen und Bibliotheken | |
|---|---|
| Schwierigkeit:
nicht angegeben | |
| Benötigtes Vorwissen: | keins* |
| Sprache: | Assembler, C,C++ |
Inhaltsverzeichnis
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
<sys/time.h> <c> int gettimeofday(struct timeval *restrict tp, void *restrict tzp); </c>
<stdlib.h> <c> void *malloc(size_t size); void free(void *pointer); void exit ( int status ); char * getenv ( const char * name ); </c>
<time.h> <c> time_t time ( time_t * timer ); </c>
<stdio.h> <c> 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 ); </c>
<c> size_t write(int fd, const void *buf, size_t count); </c>
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.