Las bibliotecas de Must C tienen extensión .lib

No sé C, pero necesito interactuar con algunos archivos C en un proyecto. Me doy cuenta de que algunos archivos tienen la extensión .lib , mientras que otros (que también se supone que son bibliotecas) tienen archivos .c y .h solo en una carpeta grande.

  • ¿Cuál es la diferencia entre estas bibliotecas?
  • Son las carpetas .c y .h también las bibliotecas.
  • ¿Es el formato .lib formato oficial para las bibliotecas y estos tipos que hicieron .c y .h simplemente son perezosos o no utilizan las mejores prácticas?

.c archivos .c y .h son código fuente, es decir, archivos de texto. Para “usarlos” (es decir, ejecutar el código en una computadora) debe comstackrlos en …

Un archivo .lib es el resultado final, es decir, un archivo binario. Se puede alinear estáticamente en otro ejecutable y el código se ejecuta en una computadora. Esto le ahorra el tiempo de comstackción de la fuente si no es necesario.

.lib es solo una extensión común, pero realmente no importa cuál es la extensión siempre que el archivo sea válido. Dirija su comstackdor / enlazador al archivo de biblioteca .whatever y déjelo arrancar, todo funcionará al final.

El comstackdor no se preocupa por la extensión siempre que se especifique el archivo. Nombro mis bibliotecas .a. Comúnmente, los archivos de origen se denominan .c, y los archivos de encabezado como .h. Pero esto solo por mera conveniencia, un comstackdor funcionará en cualquier archivo fuente válido, sin importar el nombre.

La extensión de archivo estándar para los progtwigs escritos en C es .c , los archivos de encabezado que vienen con un proyecto llevan la extensión .h .

.lib es solo una opción de los progtwigdores para nombrar su archivo de biblioteca. Por lo general, significa un binario comstackdo que se puede vincular estáticamente a otro archivo ejecutable. Otras extensiones de archivo comunes son .a y .so (especialmente en máquinas * NIX).

Las bibliotecas estáticas de C generalmente se comstackn en .lib en Windows y .a o .so en Linux / Unix. Pero la extensión es solo una cuestión de conveniencia: “¿tienes esa lib en un repository?”

en cuanto a .h y .c son tan válidos, pero simplemente no comstackdos.

Puedes usar ambos enfoques sin miedo, incluso si la extensión es .darthvader