Probleme à la compilation : int86x, movmem, FP_SEG, MK_FP.

Khahazad Messages postés 10 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 24 mai 2006 - 19 mai 2006 à 19:03
Khahazad Messages postés 10 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 24 mai 2006 - 20 mai 2006 à 11:31
Bonjour,



Je suis sur un projet ou je dois communiquer avec une carte
d'acquisition en passant par un driver assez ancien.





J’utilise comme API Code::Block sous Windows 98.





J’ai récupère les headers de turbo C++.






1er problème :






J'utilise la fonction  
int86x ( , , , )   pour réaliser
une interruption sur le driver.





Quand je compile j’obtiens " undefined reference to
'int86x' "





Pareil pour une autre fonction : movmem( , , ) .





'movmem' vien de 'mem.h' et 'int86x' de 'dos.h'





J'y retrouve leur prototypes mais pas les fonctions elles même.





Comment puis-je faire?





Je n'ai pas vu de fichier .lib ou .a à rajouté correspondant
a ces bibliothèques.






2eme problème :






Je n'arrive pas a compiler ces fonctions autrement qu'avec
turbo C++.






J'obtient :
' error: syntax error before "_seg" '







inline int
MK_FP(seg,ofs)







{  return ((void _seg *)seg + (void near *)ofs);  }







inline int
FP_SEG(fp)








{  return 
((unsigned)(void _seg *)(void far *)(fp));










Comment dois-je modifier ce code pour qu'il n'y ait plus
l'erreur?




Je vous remercie d'avance,

Khahazad.

2 réponses

cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 3
20 mai 2006 à 02:06
Hum, pour le premier problème la seule solution est de trouver les fichers objets qui contienent la définition des fonctions ou alors de trouver les fichiers source et de les compiler (pas facile). Si ces fonction sont fournies avec turbo C++ tu dois avoir les librairies dans le repertoire ou est installé turbo C++.
Pour le second problème si j'étais toi je ne me prendrai pas la tête a essayer de compiler avec autre chose que turbo C++, même si tu arrives à compiler avec un autre compilo tu vas peut-être avoir d'autres problèmes et passer beaucoup de temps dessus pour pas grand chose. Ce genre d'erreur est en général relou à corriger.

Bonne chance.

Bouba.
0
Khahazad Messages postés 10 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 24 mai 2006
20 mai 2006 à 11:31
En  fait mon projet est de faire un programme qui permetted'entrer des parametre  communiquer avec une carte d'acquisition et recuperer des donnes de mesure.
je dois le faire soit en VC++ soit en VB6 mais donc je passerais pas des dll. 
C'est pour ca que c'est important pour moi de compiler ca avec autre chose que TC++ ou alors de trouver un code equivalent.
0
Rejoignez-nous