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