Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
950 connectés 

  FORUM HardWare.fr
  Programmation

  je suis trop vieux ou outporb n'existe plus en C ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

je suis trop vieux ou outporb n'existe plus en C ?

n°34589
developpeu​r_en_panne
Posté le 27-05-2001 à 13:38:05  profilanswer
 

salut...
 
il y a deux ans, j'utilisais outportb et inportb pour jouer avec mes COMi ...
je suis sous borland bcc5.5
en plus, je n'arrive pas à trouver de doc...
pfff...
 
c'est un WE qui commence bien...
 
merci à tous

mood
Publicité
Posté le 27-05-2001 à 13:38:05  profilanswer
 

n°34598
verdoux
And I'm still waiting
Posté le 27-05-2001 à 14:27:16  profilanswer
 

outporb c'est pas du C "universel" donc borland a peut être changé les fonctions.
MS utilise outp et sous linux c'est outb.

n°34599
zop
1 world, 1 web, 1 Windows
Posté le 27-05-2001 à 14:35:51  profilanswer
 

Je ne sais ce qu'il en est pour Borland, mais en Visual C++, il y a les fonctions _outp, _outpw, _outpd, _inp, _inpw, _inpd, dans le fichier <conio.h>

n°35068
Carbon_14
Posté le 29-05-2001 à 10:12:35  profilanswer
 

Sous Borland C++ 5.02, ces fonctions existent toujours.. Pourquoi les auraient-ils supprimées ?
 
Mais pour les utiliser sous Win NT, je ne suis pas sûr qu'elles soient autorisées (accès trop bas niveau).

n°35094
HelloWorld
Salut tout le monde!
Posté le 29-05-2001 à 10:36:41  profilanswer
 

meme sous Win98 ca marche pas (sauf DOS hein ...)
j'ai deja essayé
et le pire c'est que ca te met pas une erreur genre "ce programme va etre arrte blablabla" comme ca le fait petretre sous WinNT, mais ca fait strictement rien (le proc il ignore ton code)
y'a un moyen "propre" de le faire : il faut en effet etre privilégié pour effectuer cette opération et un executable ne peut pas etre privilégié
seules les dll (c'est pas top rapide) et les VxD (tout est possible) peuvent etre privilégiés
en cherchant un peu j'ai donc trouvé une dll qui faisait ca : lecture/ecriture sur les ports/n'importe ou en memoire, sous 98 ou NT :wahoo:
c'est le seul moyen ...
j'ai plus l'adresse mais cherche sur google international des trucs genre "code ring0 write in memory"


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°35098
HelloWorld
Salut tout le monde!
Posté le 29-05-2001 à 10:41:38  profilanswer
 

j'ai retrouvé une premiere adresse (mais y'a un meilleur truc que j'ai pas retrouvé)
http://www.dc.ee/Files/Programm/Windows/
 
attention, c'est pas du code de PD qu'il y a sur ce site ;)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°35448
Carbon_14
Posté le 30-05-2001 à 09:07:05  profilanswer
 

Ci-joint le code écrit il y a dix ans (par un débutant) pour une DLL (perso) 16 BITS IN_OUT.DLL. Cela permet d'accéder aux ports à partir de VisualBasic 3 (qui ne le permet pas).
 
#include <windows.h>
#include <conio.h>
 
int FAR PASCAL LibMain(HANDLE hInstance, WORD wDataSeg, WORD cpHeapSize, LPSTR lpszCmdLine)
{
        return 1;
}
 
int FAR PASCAL WEP(int nParameter)
{
        return 1;
}
 
int FAR PASCAL _export in(int Valeur)
{
        return inp(Valeur);
}
 
void FAR PASCAL _export out(int Adresse, int Valeur)
{
 outp(Adresse, Valeur);
}
 
Déclaration sous VB3 :
Declare Function IN Lib "IN_OUT.DLL" (ByVal address%) As Integer
Declare Sub OUT Lib "IN_OUT.DLL" (ByVal address%, ByVal value%)
 
Utilisation sous VB3 :
OUT Adresse%, Valeur%  
Dummy% = IN(Adresse%)            
 
en BC, pas encore essayé
     h = LoadLibrary(NomDLL); devrait convenir
puis  
     FreeLibrary(h); quand plus besoin
 
Faudrait que je teste l'accès aux port du haut-parleur sous Win98/BC++5 ce soir, voir si cela fonctionne directement (??).

n°35455
HelloWorld
Salut tout le monde!
Posté le 30-05-2001 à 09:21:32  profilanswer
 

il manque la partie la plus importante : celle qui donne d'avantage de privilèges à ta dll et lui autorise donc de faire ces outp ...
en plus les dll 16 bits ne sont pas utilisables depuis des programmes 32 bits ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°35893
Carbon_14
Posté le 31-05-2001 à 09:56:43  profilanswer
 

J'ai fait des tests. Ma DLL 16bits, recompilée en 32 n'est pas compilable (fonctions interdites dans ce mode) ni dans un prog.
 
Il faut peut-être passer par l'écriture d'un driver virtuel (VxD ?) ou mettre les instructions assembleur dans le prog C (si BiBill et le compilateur l'autorisent).
 
Je suis finalement content de toujours écrire mes progs pour Win 3 (ou DOS). Le passage sous Win_32 semble "prendre la tête" en ce qui concerne l'instrumentation. Vive le pingouin ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  je suis trop vieux ou outporb n'existe plus en C ?

 

Sujets relatifs
[JAVASCRIPT] un probleme pour les balezes et vieux routards[Java] Savoir si un fichier existe sur un poste distant...
VB6 est ce que ça existe ???Comment tester si une table existe en vba ??
Pour les vieux de la prog sous MySQL et PHPexiste-il un autre serveur sous Linux que Apache ?
[VB] ScriptControl crée programatiquemalement (ca existe ce mot la?)un Éditeur "tout confort" pour coder sous Linux, ça existe ???
Existe -t'il un compilateur C/C++ qui utilise les instructions SSE ???asp: un chtit serveur gratos.. ca existe ?
Plus de sujets relatifs à : je suis trop vieux ou outporb n'existe plus en C ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR