Question a deux balles: c'est quoi une fonction far ou near ? [C/C++] - Programmation
Marsh Posté le 06-05-2001 à 19:21:54
C'est un vieux truc utilisé dans la prog 16 bits sous windows.
Inutile maintenant:
http://msdn.microsoft.com/library/ [...] ations.htm
Marsh Posté le 06-05-2001 à 19:51:28
Merci Verdoux.
Donc, si j'ai bien compris, c'etait pour charger une fonction dans un segment memoire sous dos(far/near - haut/bas).
Je me trompe ?
Marsh Posté le 06-05-2001 à 19:54:04
Non, c'était une portée par rapports aux segments mémoires. Une near on devait rester dans le segment courant, donc on empilait uniquement CS.
Far, il fallait empiler le numero de segment, et le pointeur courant, donc DS:CS (si ma mémoire est bonne).
Marsh Posté le 20-05-2001 à 16:44:43
kadreg a écrit a écrit : Non, c'était une portée par rapports aux segments mémoires. Une near on devait rester dans le segment courant, donc on empilait uniquement CS. Far, il fallait empiler le numero de segment, et le pointeur courant, donc DS:CS (si ma mémoire est bonne). |
cs:ip, donc sauvegarde d'ip pour le near, cs et ip pour le far
cs = code segment
ds = data segment
ip = instruction pointer
désolé pour la parenthèse
[edit]--Message édité par youdontcare--[/edit]
Marsh Posté le 14-01-2008 à 17:29:26
Désolé de déterrer ce vieux post, mais j'ai un problème concernant un programme tournant sur µC (et donc pas sur Windows), et devant être compilé en 16bits (et non en 32). Ce programme utilise des types "far" (et "far* par la même occasion), chose que Turbo C++ n'a plus l'air de connaître ... Comment faire pour qu'il les reprenne en considération sans m'envoyer paître ?
Merci d'avance !
Marsh Posté le 06-05-2001 à 19:12:46
tout est dans le titre.