[C con Clase] Borland Turbo C++

Ezequiel Hernan Di Giorgi hernan.digiorgi en gmail.com
Jue Feb 23 21:45:58 CET 2012


El 23 de febrero de 2012 15:42, Miguel Olave <molavec en gmail.com> escribió:

> Estimados,
>
>       Debido a que el tiempo ya a pasado y se han creado nuevos
> compiladores, es poca la información y la ayuda que he podido conseguir
> acerca del Borland Turbo C++ v1.01, pero sin duda alguno de Uds. que
> lleva años de juego pueden desempolvar esos conocimientos que la
> experiencia les dio en favor de otros.
>
>       El asunto es que necesito programar un sistema embebido con  80186 y
> el dichoso Turbo C se empecina en hacerme la vida difícil con la inclusión
> de librerías. Para no complicarme con la interfaz gráfica, me propuse usar
> en compilador de línea de comandos tcc.exe pero a pesar de que incluyo las
> librerías me arroja errores.
>
> EL COMANDO (tal vez por aquí esté el problema):
> *****************************************************************
> tcc -1 -LD:\ICPLib\u7186EX -ID:\ICPLib\u7186EX HELLO.C
>
> RESULTADO:
> *********************************************
> D:\ICPProgs\7186\hello_c>tcc -1 -LD:\ICPLib\u7186EX -ID:\ICPLib\u7186EX
> HELLO.C
> Turbo C++ Version 1.01 Copyright (c) 1990 Borland International
> hello.c:
> Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
> Error: Undefined symbol _Print in module hello.c
> Error: Undefined symbol _GetLibVersion in module hello.c
> Error: Undefined symbol _Is7186e in module hello.c
> Error: Undefined symbol _InitLib in module hello.c
>
> Available memory 346208
>
> CODIGO (no muy dificil. Imprime hola mundo pero con las funciones de la
> librerías del dispositivo):
> *****************************
> #include <7186e.h>
>
> void main(void)
> {
>     int iType, iVer;
>     InitLib();                //función librería añadida
>     iType=Is7186e();    //función librería añadida
>
>     if(iType)
>     {
>          iVer=GetLibVersion();   //función librería añadida
>          Print("Hello uPAC-7186EX! (Flash memory is %d K)\r\n", iType);  //función
> librería añadida
>          Print("Library version is %d.%02d\r\n", iVer>>8, iVer&0xff)    //función
> librería añadida
>      }
>     else
>     {
>     Print("Hello PC!, this program is not run under uPAC-7186EX.");  //función
> librería añadida
>     }
> }
> ***********************
>
>
> Cualquier ayuda será más que bienvenida.
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>


Hola, mira toma con cuidado lo que dire, por que no se mucho del tema. Pero
dire lo poco que se.

Segun tengo entendido cuando se programa con sistemas embebidos, el
fabricante te da el software para realizarlo, te da almenos un compilador.
No conosco ese modelo, ni me imagino el frabricante, pero en el caso de
pic, en la pagina te dan todas las herramientas.

En los errores los undefined reference se deben a que no basta con que
ponga #include<tuCabezera.h> ya que son los prototipos y supongo que las
funciones estan en binario, por lo que tienes que hacer al compilar es
decirle al linker que te linkee esa libreria.

Mi corta experiencia con borland fue terrible, era cualquier cosa a mi
gusto. Te recomiendo el gcc o para mi gusto el g++, si es que puedes
compilar un binario desde estos y mandarlo a ese aparatito, pero no creo.
Supongo que necesitas un compilador especifico para eso, o eso me dice mi
logica.
(Esto lo digo por si quieres grabar el software en el aparatito), si es
unicamente comunicacion supongo q vas bien.

Cuestion... fijate el linqueado de las bibliotecas, por que el problema es
de linker, cuando dice undefined reference.

Disculpa mi impresicion. Suerte
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120223/163eac02/attachment.html>


Más información sobre la lista de distribución Cconclase