Modificación de una biblioteca estática comstackda

Ponte tus guantes voodoo ninja c ++.

Compramos una biblioteca de terceros para usarla en nuestra aplicación iOS. Hay 2 versiones de esa biblioteca, así que llamémosles bull_frog_noises.a y toad_frog_noises.a .

La compañía nunca imaginó que alguien querría hacer tanto ruido de rana en una sola aplicación, por lo que cada biblioteca ofrece el mismo nombre de método :

 MAKE_FROG_NOISE(); 

¿Hay alguna manera de rebuild o modificar estas bibliotecas para que puedan usarse ambas sin chocar entre sí? Aquí está el estado ideal:

 MAKE_BULL_FROG_NOISE(); MAKE_TOAD_FROG_NOISE(); 

Intentaría usar un editor hexadecimal para modificar manualmente una de esas bibliotecas para que cada instancia de MAKE_FROG_NOISE fuera reemplazada por MAKE_TOAD_NOISE. Tendrías que ser extremadamente cuidadoso para hacer solo ese cambio. Solo puede replace bytes. No inserte ni borre nada. Y no cambie nada más en el file.

Puede crear otra biblioteca estática como un contenedor para esas bibliotecas con los nombres de methods que desee y luego include las bibliotecas de contenedores en el proyecto.

Me gusta esto:

1 – Cree un nuevo proyecto de biblioteca estática llamado bull_frog_noises_wrapper.a.

2 – Incluye bull_frog_noises.a como una dependencia a esta biblioteca recién creada.

3 – Crea methods como este:

 void MAKE_BULL_FROG_NOISE() { MAKE_FROG_NOISE(); } 

4 – Haga lo mismo con toad_frog_noises.a, creando methods como:

 void MAKE_TOAD_FROG_NOISE() { MAKE_FROG_NOISE(); } 

5 – Agregue esos envoltorios en su proyecto y ya está.

Solo tenga cuidado con los files de encabezado que usa en el proyecto principal para que no entren en conflicto con las bibliotecas internas.

Espero eso ayude.