Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: taliban626 en 12 Agosto 2011, 16:45 pm



Título: Error Unresolved External
Publicado por: taliban626 en 12 Agosto 2011, 16:45 pm
Hola a todos!
El tema es que estoy tratando de controlar el puerto paralelo, y segun he leido para leer un bit es posible hacerlo con la funcion inportb(puerto) de la libreria dos.h, sin emmbargo cuando al intentar compilar me sale el siguiente error: Unresolved External inportb(int) referenced from 'ruta donde esta guardado .obj'
Soy completamente nuevo en C, asi que si alguien me puede dar un tiron de orejas y decirme a que se debe... seria de agradecer!

El codigo es este:

Código:
#include <stdio.h>
#include <dos.h>
#include <time.h>


clock_t lecturaPuerto();
unsigned char inportb(int puerto);
int puerto = 0x378;
unsigned char bit;

main(){

int i=1;
float time;
clock_t inicio, fin;

while(i!=0){
inicio=lecturaPuerto();
fin=lecturaPuerto();
time=(fin - inicio) / CLOCKS_PER_SEC;
printf("Vuelta %d. Tiempo %f",i,time);
i++;
}
}


clock_t lecturaPuerto(){

bit=inportb(puerto);
if(bit!=0){ //TO-DO:Cambiar 0 por valor que se obtiene por defecto al leer.
return clock();
}else{
return lecturaPuerto();
}
}


Título: Re: Error Unresolved External
Publicado por: Eternal Idol en 13 Agosto 2011, 13:15 pm
El error que te da es de enlazado, no tiene forma de resolver el simbolo de la funcion inportb. ¿Estas trabajando con herramientas de 32/64 bits? Si es asi no podes usar esa funcion que es justamente de MS-DOS.