Dasije, ¿qué es lo que no te gusta exactamente del fuente que he publicado? No entiendo qué tiene que ver tu post. Yo sólo paso un puntero, nada más.
Si simplemente quieres mostrar un ejemplo que no tiene nada que ver con este código publicado por mi, deberías crear un tema nuevo. Si tienes modificaciones a aportar al código publicado, precisa más, dónde exactamente y por qué.
Lo de "directamente", no sé a qué te refieres. Si es por la *.LIB, la que genera el Dev C++ no funciona, no sé por qué y no tengo tiempo de mirarlo. Pero como se puede evitar con LoadLibrary y GetProcAddress (que se hacen automáticamente via fichero COBOL85.CBR) no me he comido mucho el coco con ello.
El
extern "C" lo que hace es el famoso "undecorate" que básicamente hace más visibles los nombres de las funciones de acuerdo a las normas del C.
En cuanto a pasar un
char en parámetros, aunque la declaración sea así, por detrás se transforma en puntero y se pasa la dirección del array, porque no podemos pasar por parámetro algo que no sea tipo binario. Ah, y por cierto:
Citación del post de
Dasije
|
❞
Recuerda que el type char, es una string sin fin
|
Aquí te has equivocado, el tipo char es de 1 byte, y no infinito. Si lo definimos como
array de char y sin especificar la longitud, ahí sí. Es decir: