Hallo Forum,
Ich muss für eine Übungsaufgabe einen Syscall definieren und diesen von einem C Programm aus nutzen. Das C Programm wird über ein Shellscript aufgerufen und es wird ein Parameter überreicht.
Das Problem ist die kompilierung von Gauss.c
ich herhalte den Fehler bei :
gcc Gauss.c -o gauss
gauss.c:7: error: expected declaration specifiers or ‘...’ before ‘prosys’
gauss.c:7: warning: data definition has no type or storage class
Zudem würde ich gerne Wissen ob meine Lösung stimmt ? (bin blutiger Anfänger darin)
der Syscall prosys.c :
Die C Datei, welche den Syscall nutzt, Gauss.C :
das Shellscript brauche ich nicht hier zu posten, da dies funktioniert und auch den Parameter weitergibt. Sollte ich es dennoch posten müssen, gebt mir bitte kurz bescheid.
Vielen herzlichen Dank!!
Mit freundlichen Grüßen
Marco
Ich muss für eine Übungsaufgabe einen Syscall definieren und diesen von einem C Programm aus nutzen. Das C Programm wird über ein Shellscript aufgerufen und es wird ein Parameter überreicht.
Das Problem ist die kompilierung von Gauss.c
ich herhalte den Fehler bei :
gcc Gauss.c -o gauss
gauss.c:7: error: expected declaration specifiers or ‘...’ before ‘prosys’
gauss.c:7: warning: data definition has no type or storage class
Zudem würde ich gerne Wissen ob meine Lösung stimmt ? (bin blutiger Anfänger darin)
der Syscall prosys.c :
Code: [Auswählen]
#include <linux/linkage.h>
asmlinkage long sys_prosys(long n) {
long ergebnis=0;
int i;
for(i=1; i<=10;i++) {
ergebnis +=i;
}
ergebnis = ergebnis + n;
return ergebnis;
}
Die C Datei, welche den Syscall nutzt, Gauss.C :
Code: [Auswählen]
# include <stdio.h>
# include <linux/unistd.h>
# include <errno.h>
# include <sys/syscall.h>
# define __NR_prosys 320
_syscall0(long, prosys);
void main(int args, char* argv[])
{
printf("Berechnung nach der Gauß-Formel \n");
printf("Die Summe ist: %d \n", prosys(argv[1]) );
}
das Shellscript brauche ich nicht hier zu posten, da dies funktioniert und auch den Parameter weitergibt. Sollte ich es dennoch posten müssen, gebt mir bitte kurz bescheid.
Vielen herzlichen Dank!!
Mit freundlichen Grüßen
Marco

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert



