Me gustarÃa hacer alguna función en Borland C++, para probar. Mi pregunta es: ¿basta con escribir un fichero "----.c" y compilar con BRC32 para obtener un OBJ válido, o si tengo que hacer algo especial entre medias?
Gracias.
Me gustarÃa hacer alguna función en Borland C++, para probar. Mi pregunta es: ¿basta con escribir un fichero "----.c" y compilar con BRC32 para obtener un OBJ válido, o si tengo que hacer algo especial entre medias?
Gracias.
c:\clipper5\bin\clipper main /n
c:\bc5\bin\bcc -c -ml -Ic:\clipper5\include test.cpp
SET LIB=c:\clipper5\lib;c:\bc5\lib
blinker fi main.obj, test.obj lib clipper, extend, dbfntx, terminal// Usando C++ con Clipper
// ejemplo desarrollado por FiveTech Software
function Main()
local oTest := Test() // Creamos un objeto en C++
? Test_IVal( oTest ) // Visualizamos un dato del objeto en C++
return nilclass Sample
{
public:
int iValue;
Sample();
void * operator new( unsigned long ulSize );
void operator delete( void * );
};
Sample::Sample()
{
iValue = 123;
}
extern "C" {
void * _xgrab( unsigned long );
void _xfree( void * );
}
void * Sample::operator new( unsigned long ulSize )
{
return _xgrab( ulSize );
}
void Sample::operator delete( void * p )
{
_xfree( p );
}
extern "C" {
#include <extend.api>
CLIPPER TEST()
{
_retnl( ( unsigned long ) new Sample() );
}
CLIPPER TEST_IVAL()
{
_retnl( ( ( Sample * ) _parnl( 1 ) )->iValue );
}
}Manu,
Si te refieres a sólo escribir una función, revisa source\winapi*.c
Para compilar bcc.exe -c -ml -I<path_a_includes> <fichero.c>
Gracias Antonio. Ahora mismo me pongo manos a la obra.
Manu,
>
Después compilar con: bcc.exe -c -ml -IC:\CLIPPER5\INCLUDE Test.c
Finalmente linkar el objeto (Test.obj) junto con los demás objetos de mi programa. ¿SerÃa correcto?
>
SÃ
>
En caso afirmativo, para 32 bit, para cuando me pase a xHarbour, serÃa lo mismo pero con BCC32?
>
SÃ. En 32 bits no se usa -ml
>
Por ultimo, he visto en algunos ficheros de c algo como esto: _param( 3, -1 ). Otras veces, en vez de -1 aparece un entero positivo que deduzco es el indice de un array, pero -1 no he logrado averiguar que significa.
>
-1 es equivalente a 0xFFFF (hexadecimal) que significa "de todos los tipos" en Clipper. Es decir, queremos un parámetro, sea del tipo que sea. Variando ese valor se puede escoger un cierto tipo de valores.
entero positivo es un tipo de valor, no "de todos los tipos".
Pues muchas gracias Antonio. Todo aclarado.
Antonio, tengo un último problema. En los Borland c++ que he bajado, incluido el de FiveTechSoft, no se incluye BCC.EXE, sólo BCC32.exe funcionará a ¿16 bits?
Manu,
La última versión de Borland que incorpora el compilador de 16 bits es la 5, no la 5.5. Tienes que localizar la 5 ó una anterior.
bcc32.exe no sirve para compilar a 16 bits.