encore en train de travailler sur cet appel système !!!pourquoi suis-je obtenir ces erreurs de syntaxe en essayant d'implémenter l'appel système
J'ai ajouté un appel système à un noyau, compilé et le système d'exploitation l'exécute.
maintenant je reçois erreur de syntaxe sur la compilation de mon application de test.
testmycall.h
#include<linux/unistd.h>
#define __NR_mycall 244
_syscall1(long, mycall, int, i)
testmycall.c
#include<stdio.h>
#include "testmycall.h"
int main(int argc, char *argv[])
{
printf("%d\n", mycall(15));
}
est ici l'erreur
[email protected]:~$ gcc -o testmycall testmycall.c
In file included from testmycall.c:3:
testmycall.h:7: error: expected ‘)’ before ‘mycall’
[email protected]:~$ gcc -o testmycall testmycall.c
In file included from testmycall.c:3:
testmycall.h:7: error: expected declaration specifiers or ‘...’ before ‘mycall’
testmycall.h:7: error: expected declaration specifiers or ‘...’ before ‘i’
testmycall.c: In function ‘_syscall1’:
testmycall.c:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
testmycall.h:7: error: parameter name omitted
testmycall.h:7: error: parameter name omitted
testmycall.c:11: error: expected ‘{’ at end of input
[email protected]
i ont ajouté dans le syscall au lieu de _syscall1
maintenant i obtenir cette erreur
[email protected]:~$ gcc -o testmycall testmycall.c
testmycall.c: In function ‘syscall’:
testmycall.c:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
testmycall.c:11: error: expected ‘{’
c'est l'application, des idées pourquoi ???
S'il vous plaît publier l'erreur exacte que vous obtenez. – DarkDust
erreur ajouté à l'article – molleman
Essayez de regarder le code prétraité - qui peut vous dire (et nous) plus sur le problème. Utilisez gcc -E pour la sortie et faites attention à la dernière partie où se trouve l'erreur de syntaxe. –