IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

code C qui tourne sous turboC mais pas sous Visual C++


Sujet :

Visual C++

  1. #1
    Candidat au Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Par d�faut code C qui tourne sous turboC mais pas sous Visual C++
    Bonjour,

    j'utilise l'environnement Visual C++, et je veux tourner un code c qui tourne d�j� avec TURBOC. Mais je trouve des probl�mes pour quelques fonctions. En faite:
    la fonction suivante:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    void preparepal()
    {
      for (int i=0; i<192;i++) setpal(i,0,0,(i*63/192));
      for (int i=192;i<256;i++)    setpal(i,i-192,i-192,63);
    }
    qui fait appel � :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    void setpal(unsigned char col, unsigned char r, unsigned char g, unsigned char b)
    {
    	outp (0x03C8,col);
    	outp (0x03C9,r);
    	outp (0x03C9,g);
    	outp (0x03C9,b);
    }
    n'est pas compr�hensible par l'environnement Visual C++.
    Donc, est-ce que quelqu'un peut m'aider pour trouver un code similaire � ceci mais qui est ex�cutable par Visual C++, sinon comment faire pour r�soudre le probl�me??
    merci d'avance!

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Si le programme g�n�r� par TURBOC tourne sur votre machine, c'est soit que vous �tres sur un vieux coucou avec Win3.11 ou en mode compatibilit� avec cette antiquit�.

    Ca fait longtemps qu'on ne programme plus comme �a sous Windows.

    A moins d'�tre totalement � l'ouest sur votre code, il tripote les registres des p�riph�riques lui-m�me. Or, avec la conception User/Kernel des OS Win95/WinNT et suivants, il n'est plus possible d'acc�der directement � ce type de registre depuis un programme "User".

    Je ne vois que 2 options, car je ne connais pas les registres 0x03C8 et 0x03C9, c'est de soit faire un driver (programmation d'ex�cutable en mode Kernel) et VS n'est pas vraiment fait pour cela, soit trouver la s�mantique des registres et de trouver l'API Win32 qui correspond au besoin du client.

    Au vue du nom des m�thodes, si c'est pour faire mumuse avec les palettes de couleur de l'�cran, �a fait longtemps que je n'ai pas vue d'affichage palettis�, et tant mieux. C'est donc probablement soit du code mort soit du code qui va mourir.

    Heu, rester sous DOS est une solution aussi.

  3. #3
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    bonjour,

    la fonction outp est (�tait) g�n�ralement utilis�e pour �crire des donn�es sur un port de sortie.
    http://msdn.microsoft.com/fr-fr/libr...=vs.80%29.aspx

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Ces fameux "ports" sont des adresses (mais pas une adresse m�moire) pour acc�der aux registres des p�riph�riques sur BUS ISA dans les temps "glorieux" o� ces registres n'�taient pas mapp�es dans l'espace d'adressage m�moire.
    Le CPU a/avait 2 cat�gories d'adresses, les adresses m�moires pour la m�moire et les adresses des p�riph�riques.
    Avec ces instructions le CPU envoyait une valeur sur le bus ISA et le contr�leur mat�riel du BUS ISA routait la valeur vers le p�riph�rique qui �tait associ� au port (adresse "mat�riel" de l'�quipement).

    Donc laissez tomber vos routines qui essayent de dialoguer directement ave l'�lectronique de la carte graphique. Il y a eu depuis : VESA Local bus, ..., PCI Express, qui ont compl�tement chang� la donne depuis plus de de 20 ans.

Discussions similaires

  1. Code qui fonctionne sous XP mais pas sous 7
    Par theclem35 dans le forum D�buter
    R�ponses: 2
    Dernier message: 09/06/2011, 20h02
  2. [Prob] code qui fonctionne sous windows mais pas sous linux
    Par hannibal.76 dans le forum Multim�dia
    R�ponses: 3
    Dernier message: 07/02/2011, 17h46
  3. Code qui marche sous Firefox mais pas sous Safari
    Par lorilan dans le forum jQuery
    R�ponses: 0
    Dernier message: 21/01/2011, 21h27
  4. Code qui s'execute sous IE mais pas sous FF ni Chrome
    Par FraocH dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 28/04/2010, 10h13
  5. [DOM] Code qui marche sous IE mais pas sous Firefox
    Par angoradefrance dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 18/03/2009, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo