[C con Clase] Borland Turbo C++

Miguel Olave molavec en gmail.com
Vie Feb 24 02:33:29 CET 2012


Ezequiel:

     Efectivamente el fabricante incluso me mandó el compilador (turbo C++
version 1.01), e incluso tiene un IDE pero que no está muy refinado por lo,
mismo opté por intentarlo a "sangre" usando el tcc directamente.

Existe el programa tlink.exe en los binarios del compilador pero me perdí
al intentar ocuparlo. ¿Debo buscar los .obj para linkearlos o puedo linkear
las .lib? El problema es que hay me perdí rotundamente, ¿algún ejemplo que
como ejecutarlo?

Samuel:

     Lamentablemente, no están los .c por lo que no puedo agregarlos.
 ¿cómo se debe realizar ese linkeo? ¿se debería generar algún archivo que
mapee ese linkeo?


Gracias por vuestra ayuda, me han ayudado a destrabarme.





2012/2/23 Samuel Díaz García <samueldg en arcoscom.com>

> 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
>>
>
> _______________________________________________
> 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/3a4ffe6e/attachment.html>


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