begin process at 2012 05 28 08:24:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

chui en BUGG depuis et sans reponse


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

chui en BUGG depuis et sans reponse

vendredi 23 juillet 2004 à 14:24:47 | chui en BUGG depuis et sans reponse

louatiamin

pour ceux ki ne connaisse pas TC++ 3.0(sous dos) et ne connaisse rien sur les librairie statique ou bien le mode real 16bits c est vraiment unitile d'essayer de repondre mais en tt cas lire pour pour s'enrichir
si aussi vous vous ennuyer trop vite liser cet article sur le forum
help necessite un CRACK En C++ et DLL
Forum : C & C++

cet article est une version plus detaillé et plus longue
c'est vraiment interessant{a mon avis}
le code suivant par exemple

#include"stdio.h"
//pointe sur l'adresse de l'ecran en memoire
char *Ecran=(char*)(0xa0000000); //variable globale Ecran

/* les modes standards sont
0Dh 320x200 16
0Eh 640x200 16
0Fh 640x350 2
10h 640x350 16
11h 640x480 2
12h 640x480 16
13h 320x200 256
03h mode normal
*/
void activeVGA(unsigned char mode)
{

_asm{
mov ax,0;
mov al,mode;
int 10h
}
}
void desactiveVGA(void)
{
_asm{
mov al,0x03;
int 10h
}
return;
}
void setMode(unsigned char mode)
{
_asm{
mov al,mode;
int 10h
}
return;
}
void clearScreen(unsigned char color,unsigned char mode)
{
void setPixel(int x,int y,unsigned char color,unsigned char mode);
for(int i=0;i<320;i++)
for(int j=0;j<200;j++)
setPixel(i,j,color,mode);
}



/* les modes standards sont
0Dh 320x200 16
0Eh 640x200 16
0Fh 640x350 2
10h 640x350 16
11h 640x480 2
12h 640x480 16
13h 320x200 256
03h mode normal
*/

void setPixel(int x,int y,unsigned char color,unsigned char mode)
{ // int parceke depasse les 255
// x<X_max ordonn?
// y<Y_max abcisse
int X_max,Y_max;
switch(mode)
{
case 0x0d:X_max=320;Y_max=200;break;
case 0x0e:X_max=640;Y_max=200;break;
case 0x0f:X_max=640;Y_max=350;break;
case 0x10:X_max=640;Y_max=350;break;
case 0x11:X_max=640;Y_max=480;break;
case 0x12:X_max=640;Y_max=480;break;
case 0x13:X_max=320;Y_max=200;break;
}
Y_max=Y_max+1-1;
Ecran[x+X_max*y]=color;
}


#ifndef getPal
#include"conio.h"

//Red green blue
struct RGB
{
unsigned char r;
unsigned char g;
unsigned char b;
};



/*
DAC:
D A C
Digital Analog Converter

PORT Nom de registre
03C8h Pel Write Address
03C7h Pel Read Address
03C5h DAC state
03C9h Pel data
03C6h Pel Mask
*/
//lecture de la palette DAC
RGB getPal(unsigned char col)
{
RGB Color;
//int _outp( unsigned short port, int databyte );

//envoi d'une commande de lecture
outp (0x03C7,col);

//etape de lecture
Color.r = inp (0x03C9); //inport
Color.g = inp (0x03C9);
Color.b = inp (0x03C9);
return Color;
}
void getPal(unsigned char col,unsigned char &r,unsigned char &g,unsigned char &b)
{
outp (0x03C7, col);
r = inp (0x03C9);
g = inp (0x03C9);
b = inp (0x03C9);
}

#endif

#ifndef setPal
#include"conio.h"
void setPal(unsigned char col,RGB Color)
{
//int _outp( unsigned short port, int databyte );

//envoi d'une commande de ecriture
outp (0x03C8,col);

//etape de lecture
outp (0x03C9,Color.r);
outp (0x03C9,Color.g);
outp (0x03C9,Color.b);
}
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);
}
#endif

fait partie d'une bibliotheque ke j'ai développé sous TC++3.0
exactement se demander pourkoi Tc++ non pas VC++ ou autre
la reponse sera alors tres simple
pour la compilation avec VC++ peut etre y'aura pas de errors mais s'il y en a c 'est trop simple a corriger
car avec Tc++ le type int occupe 2 octet alors k' avec VC++ sera de 4 octets {le probleme se posera unikement pour les instruction d'assembleur imbriké}
mais en general on peut dire ke dans le cas ou on utilise des char il y'aura pas des erreurs pour les deux compilateur mais le probleme se pose est celui de la memoire protegé en mode 32bits { c a d VC++ sous windows) alors ke le linkage(avec VC++) se fait parfait Alors dés la premiere execution d'une instruction de type interruption ----> hoooop le programme plante
alors la solution est le mode réal
et du fait k'en mode real il y'a la contrainte sur la memoire accessible est de 10 segment de 64k et k'on ne peut acceder k'a un seul block en meme temp j'ai pensé a elaborer une librairie statique (*.lib) c'est a dire du code compilé pret a utiliser et ensuite appeler les fonction ke j'ai construit a partir de VC++{RQ: je sais bien manipuler une création et utilisation des (*lib) sous les deux environnement si vous vouler de l'aide demander le prochainement}
alors vous vous demander ou est le probleme
je vous repond::
une librairie ke j'ai crée avec TC++ n'est pas reconnu pour VC++ alors au moment du linkage sous VC++ on me signale ke le fichier de la librairie est corrompu alors ke en réalité je peut utilser cette meme librarie sous TC++
veut dire ke peut etre il 'ya incompatibilité des deux type de librarire{veut dire ke si une lib est créé avec VC++ elle ne sera compri k'avec VC++
et celle de TC++ ne sera aussi ke pour Tc++}
une autre solution ki me venai en tete est de créer une DLL mais il me parai k'en mode real 16bits il 'ya pas de facon a faire
BON ce ke je demande est y'a til façon a créer une DLL a partir de TC++ et sera reconnu en tant ke DLL pour tt les autre compilateur
peut etere j'ai kelke autres chose a dire pour clarifier al situation mais je sent ke ça devient trop ennuyeux
En tt cas j'attend vos reponses
aussi contacter moi par mail louatiamin@yahoo.fr



si vous avez une Reponse a mon sujet
répondez moi et MERCI Infinément
vendredi 23 juillet 2004 à 14:53:56 | Re : chui en BUGG depuis et sans reponse

louatiamin

doije me casser la tete???
et sans doute en absnce de savants je n'y arriverai jammai?????
vendredi 23 juillet 2004 à 16:01:24 | Re : chui en BUGG depuis et sans reponse

BruNews

Administrateur CodeS-SourceS
Si j'ai bien compris tu fauis une lib 16 bits et tu veux la linker avec un prog 32 bits sous VC++, la incompatibilite totale et normale.
Faut tout faire en 16 ou alors en 32 bits mais pas de melange.

ciao...
BruNews, Admin CS, MVP Visual C++
samedi 24 juillet 2004 à 00:16:08 | Re : chui en BUGG depuis et sans reponse

louatiamin

et autrement puisse je créer une dll avec TC++ (puiske les dll est un standard) et comme ca les utiliser??
si possible a faire avec TC++ comment faire ceci et merci!
samedi 24 juillet 2004 à 09:13:59 | Re : chui en BUGG depuis et sans reponse

BruNews

Administrateur CodeS-SourceS
Me semble que TC++ ne fait que du 16 bits (a verifier, je n'utilise pas), si oui faut le ranger au rayon des souvenirs et bosser avec VC++ en 32 bits.

ciao...
BruNews, Admin CS, MVP Visual C++


Cette discussion est classée dans : ke, void, char, mode, tc


Répondre à ce message

Sujets en rapport avec ce message

petite question mais ke j'ai besoin [ par superoi ] bon \jour je sais que c'est con mais j'ai vraiment besoin de savoir c'est pour savoir si ca existe en c ca : long (*f)(void)(char *str); et est ce Afficheur LCD sous 16F887 [ par RENTMEESTERS ] Bonjour à tous, J'ai un projet réunissant un PIC 16F887 et un afficheur LCD. J'ai donc un LCD.h que voici : [code=cpp]#define RS RB4 #d Conversion d'un char en LPCSTR ? [ par Xilofeon ] Bonjour d'un débutant en C++Voila j'arrive pas à convertire un char en LPCSTRVoici la parti du code ki me pose pb :...void LitTexte(HKEY HK, Problème ecriture dans l'EEPROM d'un pic16f84 [ par cedric74800 ] Bonjour, Voici mon problème, je souhaite conserver la valeur d'une variable dans la mémoire EEPROM]de mon pic16f84 après une coupure d'alimentation. L IntToStr en C [ par RENTMEESTERS ] bonjour à tous, Je dois convertir un nombre entier INT en une chaîne de caractère qui devra être affichée sur un LCD (*char). J'utilise un 16F887 et comment gerer ce projet pour que deux etudiants n'aient pas le meme code [ par desco182 ] Salut a tous j'aimerais bien que quelqu'un m'aide .#include#include#include#ifndef ETUDIANT_H#define ETUDIANT_Hclass etudiant{int code;<br / RS232 ou RS485 dial entre 2 pics [ par Pat2903 ] Bonjour je suis en projet pour crée un dialogue RS485 entre deux pics. Mon souci c'est que j'utilise MPLAB et le Compilateur C18. j'utilise la library Protocole OneWire [ par TupaShakur ] Bonjour à tous, Je développe une carte à base de pic18f2455 qui sert à gérer des iButton Voila dix jours que je me prends la tête avec ce protocole question sur le C [ par zoneart ] Bonjour, J'ai une question sur le C: void exemple(const *char); int main(void) { char nom[20]; memset (nom, 0, 20); printf ("Entrez un nom :


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales