Pragma import => pointeurs dans la map ? - Ada - Programmation
MarshPosté le 04-11-2013 à 20:58:41
Bonjour,
C'est un sujet très pointilleux dont je ne trouve nul réponse sur le web
Dans mon code j'ai un :
Code :
pragma import (C, X, "X" );
avec tout ce qu'il faut avant (pragma convention, déclaration de X et "X" est tiré d'un fichier C)
Mon problème n'est pas sur le code mais sur le résultat du .map (fichier mapping avec variables et @ des variables) qui est issu de la chaîne de compilation. En effet, j'ai remarqué que les variables issues d'un pragma import sont considérée comme des pointeurs dans le fichier .map . Les variables X ne sont pourtant pas des access dans le code ada (ce sont des types basiques). Mon hypothèse serait que le pragma import créé de l'extérieur un pointage vers les données "X" en C.
Pour conforter mon hypothèse, 2 questions : 1) Êtes-vous d'accord avec mon hypothèse ? Si oui, avez-vous des infos sur le web ? 2) Est-ce qu'il est possible de définir une option dans la chaîne de compilation qui permette de définir les adresses de .map comme pointant sur les données ADA (sans pointage) ou C (donc avec pointage) ou est-ce par défaut ? et si j'ai tout faux : 3) D'une manière générale, comment une variable qui est de type BOOLEAN dans un code ADA peut-elle être considérée comme un pointeur vers un BOOLEAN dans un fichier de mapping issu de la chaîne de compilation ?
Marsh Posté le 04-11-2013 à 20:58:41
Bonjour,
C'est un sujet très pointilleux dont je ne trouve nul réponse sur le web
Dans mon code j'ai un :
avec tout ce qu'il faut avant (pragma convention, déclaration de X et "X" est tiré d'un fichier C)
Mon problème n'est pas sur le code mais sur le résultat du .map (fichier mapping avec variables et @ des variables) qui est issu de la chaîne de compilation.
En effet, j'ai remarqué que les variables issues d'un pragma import sont considérée comme des pointeurs dans le fichier .map . Les variables X ne sont pourtant pas des access dans le code ada (ce sont des types basiques).
Mon hypothèse serait que le pragma import créé de l'extérieur un pointage vers les données "X" en C.
Pour conforter mon hypothèse, 2 questions :
1) Êtes-vous d'accord avec mon hypothèse ? Si oui, avez-vous des infos sur le web ?
2) Est-ce qu'il est possible de définir une option dans la chaîne de compilation qui permette de définir les adresses de .map comme pointant sur les données ADA (sans pointage) ou C (donc avec pointage) ou est-ce par défaut ?
et si j'ai tout faux :
3) D'une manière générale, comment une variable qui est de type BOOLEAN dans un code ADA peut-elle être considérée comme un pointeur vers un BOOLEAN dans un fichier de mapping issu de la chaîne de compilation ?
Merci
Message édité par wilval le 04-11-2013 à 21:00:27