Para hacer wrappers no.
Creo que no entendiste lo que hace, no es solo un copy/paste, hace algo más.
Lo suyo es probarlo y trastear con él, pero.
A ver si me explico mejor.
Imagínate una librería, llamemosla libmates.dll que tiene las siguiente funciones:
float real_entero(int parte_real, int parte_milesimial); // crea un real dando una parte entera y una parte milesimal.
float suma_divide(int valor_inicial,int valor_a_sumar, float valor_por_el_que_dividir) // suma un valor y divide por otro
int contrario(int valor); // devuelve el valor multiplicado por -1.
pues tu, para crear el módulo que llamase a estas funciones de la libmates.dll qué tendrías que hacer?
Primero ponerle un nombre como mod_mates, por ejemplo, luego inventarte un prefico como por ejemplo "MAT_"
luego crear tres entradas en __bgdexport(
nombe_modulo, functions_exports), del tipo:
{"MAT_SUMA_DIVIDE", "IIF", TYPE_INT, puntero_a_funcion},
En este caso tres, pero ¿qué libreria te encuentras con solo tres funciones? Imagínate que tiene 15 o 20, no veas tu que rollo una a una, a ver que nombre vas poniendo a cada puntero, funcion bennu, que no se te olvide ningún parámetro, mete bien los tipos, etc.
Bueno ahora queda lo peor, tienes que crearte las funciones a las que estás apuntando siguiendo un esquema tipo
static int f_createFloat (INSTANCE * my, int * params) {
int result = -1;
int param_0 =params[0];
int param_1 =params[1];
float flt_ret = createFloat (param_0,param_1);
result = *((int*) &flt_ret);
return result;
}
y son 15 o 20 veces digimos, luego a ver, tienes que extraer los parámetros y ponerlos en su verdadero tipo.
Osea no haces lo mismo con un entero que con un float o que con un string, recuerda hacer los
const char * param_0 = string_get(params[0]); y los string_discard(params[0]);
Son muchas cosas que son repetitivas, que son como dices "copy, paste and repace" pero que llevan su tiempo y que la puedes cargar sin querer, que c es muy puñetero y puedes hacer perrerias como intentar pintar un string en una direccion de memoria de un entero.
En nuestro caso, para Bennu, todos los parámetros de entrada son enteros, así que puedes compilar perfectamente un módulo que usa strings como entrada e intentar usarlos como enteros en código (no digo a posta) y luego tener un módulo que hace cosas raras como colgar el programa

.
Pues esta plantilla intenta evitar todo eso, simplemente creas un .properties con la información, sería este el del ejemplo
anio_creacion = 2010
autor = DCelso
nombre_modulo = mod_mates
prefijo = MAT
real_entero = F,I,I
suma_divide = F,I,I,F
contrario = I,I
Ya ves tu,
pones los datos de tu módulo y tuyos. (puse anio, porque la ñ no la trabajan bien algunos tipos de condificacion y ano queda como de muy culo

)
luego pones el nombre de tu funcion, un igual, el tipo de valor de retorno, luego los tipos de los parámetros de entrada.
repites para todas tus funciones.
Este fichero lo pasas por el "vtl_parser" tal y como pongo en el ".bat" (Sí Drumpi, un .bat pero que llama a java para ejecutar un bytcode hecho en java eh)
Y te genera el .c correspondiente rellenando toda la información que puse, si son 20 funciones pues 20 funciones que te creó al canto.
Ya no necesitas editar el código del módulo como dices Free, solo necesitas compilarlo para sacar el mod_mates.dll que usará a libmates.dll para ejecutar las funciones.
Recuerda que esto es una encapsulación, no hemos creado ninguna lógica, simplemente son llamadas, ¿por qué no automatizarlo?
Además si quieres hacer alguna lógica, nadie te lo impide, accedes al código fuente que ya te ha quitado pues unas cuantas horas de trabajo (y copy paste como bien dices) y modificas a gusto lo que no te convenza demasiado.
Incluso para crearte tus propios módulos te quita una tarea bastante importante, aunque si eres un tanto en cuanto avispado y quieres crearte un módulo, lo lógico sería que te hicieras una librería normal, y luego le hiceras un "wrapper" (anda si para esto sirve esta aplicacion

)
Está claro que no es la panacea, ni mucho menos, tampoco quiero defender el uso de éste, cada cual que haga módulos como quiera

, pero ayudar ayuda, o eso creo.
PD: Quero karmasss, que ma costao lo mio.
PPD: es bromita, eh.