ubuntu heading for proriertary binary drivers installation by default
Christos Ricudis
ricudis at komodino.itc.auth.gr
Mon Nov 20 11:44:32 EET 2006
Nick Demou wrote:
> [1]: νομίζω ότι καταλαβαίνω αλλά επειδή δεν έχω εντρυφήσει στα
> εσωτερικά της ανάπτυξης του kernel και πέρασαν και μερικά χρόνια από
> τότε που έκανα compile/link τελευταία φορά μπορεί και να κανω κάποιο
> σοβαρό λάθος. Για την ακρίβεια πιστευώ ότι το API είναι το interface
> specification το οποίο αξιοποιεί ο προγραμματιστής σε επιπεδο source
> για να καλέσει ρουτίνες του kernel (π.χ. στο API θα δεις το όνομα της
> function ) ενώ ABI είναι το ίδιο πράγμα αλλά σε επίπεδο κώδικα μηχανής
> (π.χ. στο ABI θα δεις την διευθηνση της function).
>
>
Peripou.
Estw :
komodino:[ricudis]~/gnourtzoumpouki$ cat sourkouflouti.h
typedef struct {
char gnourloumpouki[22];
int tzartzamouti;
char xnourloufrouti[30];
int fnourlitzeki;
char fnourlouxrouti[40];
} sourkouflouti;
komodino:[ricudis]~/gnourtzoumpouki$ cat sourkouflouti.c
#include <stdio.h>
#include "sourkouflouti.h"
void funkyfunction(sourkouflouti gnoumpourlouki) {
printf("%d
%d\n",gnoumpourlouki.tzartzamouti,gnoumpourlouki.fnourlitzeki);
}
komodino:[ricudis]~/gnourtzoumpouki$ cat main.c
#include "sourkouflouti.h"
extern void funkyfunction(sourkouflouti kotkot);
int main(int argv,char *argc[]) {
sourkouflouti xnouflourmpini;
xnouflourmpini.tzartzamouti=50;
xnouflourmpini.fnourlitzeki=100;
funkyfunction(xnouflourmpini);
return(0);
}
komodino:[ricudis]~/gnourtzoumpouki$ cc -c -fpack-struct=16 sourkouflouti.c
komodino:[ricudis]~/gnourtzoumpouki$ cc -c -fpack-struct=16 main.c
komodino:[ricudis]~/gnourtzoumpouki$ cc -o main main.o sourkouflouti.o
komodino:[ricudis]~/gnourtzoumpouki$ ./main
50 100
komodino:[ricudis]~/gnourtzoumpouki$ cc -c -fpack-struct sourkouflouti.c
komodino:[ricudis]~/gnourtzoumpouki$ cc -c -fpack-struct=16 main.c
komodino:[ricudis]~/gnourtzoumpouki$ cc -o main main.o sourkouflouti.o
komodino:[ricudis]~/gnourtzoumpouki$ ./main
3276800 -1074591176
Kai stis dyo periptwseis, to API einai to idio (den allaksame tipote sto
definition ths structure). H deyterh periptwsh compilation omws eisagei
ena ABI incompatibility metaksy twn dyo object files, kai to apotelesma
opws blepeis einai katastrofiko.
H lysh bebaia einai para poly aplh. Arkei na ypoxrewsoume olous tous
developers na xeirizontai kai na epistrefoun mono XML-formatted data
metaksy twn kernel interfaces.
--
Christos Ricudis ricudis at itc.auth.gr
Systems Administrator +30-2310-998656
IT Support Center
Aristotle University of Thessaloniki, GREECE
More information about the Linux-greek-users
mailing list