Tengo una biblioteca de C estática que puedo compilar con diferentes opciones de tiempo de compilación (por ejemplo, _BUILD_SMALL, _BUILD_FAST). Tiene una funciónCómo alias las funciones de la biblioteca C?
void Foo(void);
me gustaría utilizar una sola instancia de un instrumento de referencia para comparar el las versiones "rápidas" de la biblioteca "pequeño" y. No quiero usar .dlls.
¿Cómo puedo vincular a las bibliotecas "pequeñas" y "rápidas" y alias los nombres de las funciones para que pueda llamar a la versión pequeña y rápida. Lo ideal sería algo como:
void benchmark(void)
{
FAST_Foo();
SMALL_Foo();
}
Más información:
La biblioteca se puede construir con opciones diferentes optimizaciones -os frente -O3. Además, los algoritmos varían ligeramente (es decir, valores almacenados en caché versus valores de búsqueda siempre). Quiero comparar las compensaciones de tamaño y velocidad de las diferentes versiones. Me gustaría que las pruebas unitarias y el benchmarking se ejecuten en ambas versiones de la biblioteca de la manera más fácil posible.
Esta pregunta es muy poco clara. – Falmarri
¿Por qué no simplemente crear múltiples versiones con varias opciones activadas/desactivadas y comparar cada una? –
No puede combinar ambas funciones en un solo enlace si tienen el mismo nombre (y no son estáticas). – mah