On 30.08.2010 18:44, lano wrote:
Ok, soweit kann ich dir folgen. Jetzt würde ich denken, schreibe ich "struct ifreq ifr;"
außerhalb der funktion dann wäre es ja global. tuts aber auch nicht.
Globale Variablen sind an sich keine gute Idee...
Hier etwas das bei deinem Beispiel besser geeignet ist:
Da malloc Speicher vom Heap reserviert ist er nach dem Funktionsaufruf noch vorhanden. Du kannst die MAC in den von dir reservierten Speicherbereich schreiben/kopieren. Meistens macht man aber call by reference. Deswegen meinte ich ja es ist eine gute Idee die zwei Varianten call by reference und call by value mal genauer zu untersuchen :)

Laut Buch und google handelt es sich wohl um eine Struktur.

&ifr.ifr_hwaddr.sa_data;

müsste dann nicht irgendwo etwas wie:

struct ifreq  {
  char ifr_hwaddr;
};

struct ifreq ifr;

stehn? aber was hatt es dann mit sa_data auf sich?

Such mal in den Includes, die du angegeben hast danach dort sind die ganzen Sachen deklariert.


*g* ich hab schon eine woche gebraucht bis Hallo Welt funktioniert hat.
Eigendlich geht es insgesamt nur darum
1. eine datei vom einem http-server laden
2. das was in der datei steht in eine variable stecken
2. die mac in eine variable bekommen
3. daraus eine url basteln
4. die url an den http-server senden

das ganze hab ich schon mit einem shell script getestet, dafür hab ich 15min gebraucht. problem, das script frist zuviel power. Also hab ich gedacht, versuchstes mal mit c. Eigentlich hatt ich gedacht wäre das schon eine einfache sache, das es so kommt konnt ich ja nicht ahnen.

Warscheinlich hast du für das Shellskript curl verwendet? Wenn ja solltest du dich recht schnell mit libcurl [1] zurecht finden. Hier ist ein Beispiel dazu [2].

Was genau braucht bei dem Skript eigentlich so viel Power? Von der Beschreibung her sollte es länger dauern die Seite vom Server zu bekommen bzw die da hin zu schicken. Das wird mit C auch nicht schneller. Vieleicht kann man auch nur einen speziellen Teil des Skriptes optimieren, statt das ganze in C zu schreiben.

Gruß
Bernhard

1 http://curl.haxx.se/libcurl/
2 http://curl.haxx.se/libcurl/c/simple.html
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an