[C con Clase] Borland Turbo C++

Samuel Díaz García samueldg en arcoscom.com
Jue Feb 23 23:19:25 CET 2012


Yo recuerdo varias cosas q podrian ayudar.

Agregar el .c de la libreria para q compile y linke automaticamente.

Linkar a mano el los objetos con los libs.

Ojo con el direccionamiento segmentado. No recuerdo si los 186 lo usaban.

Ahi tienes trabajo para seguir jugando con el tc.

Ah y no olvides q los lib tenian q ser compilados bajo l mismo modelo de
memoria para q la cosa funcione.

Salu2
El 23/02/2012 22:20, "Ezequiel Hernan Di Giorgi" <hernan.digiorgi en gmail.com>
escribió:

>
>
> 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
>
> _______________________________________________
> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120223/c5915aef/attachment.html>


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