2009-04-24 11 views
6

Recientemente tuve que programar C++ en Windows para un proyecto de la Universidad, y estoy bastante confundido acerca del sistema de librerías estáticas y dinámicas, qué necesita el compilador, qué necesita el enlazador, cómo construir una biblioteca ... ¿hay algo bueno? documento sobre esto por ahí? También estoy bastante confundido acerca del sistema de biblioteca * nix (así que, dylibs, la herramienta ar, cómo compilarlos ...), ¿puedes señalar un documento de revisión sobre las técnicas actuales de la biblioteca en las diversas arquitecturas?Bibliotecas estáticas, bibliotecas dinámicas, DLL, puntos de entrada, encabezados ... ¿cómo salir de esto con vida?

Nota: debido a mi poco conocimiento, este mensaje podría contener conceptos erróneos, no dude en editarlo.

Gracias

agrega a más de referencia, voy a agregar al resumen.


Referencias

Dado que la mayoría de ustedes publicado * nix o Windows referencias específicas voy a resumir aquí los mejores, que marcará respuesta como aceptada la Wikipedia en uno, porque es un buen punto de partida (y tiene referencias dentro también) para ser introducido a esto.

Program Library Howto (Unix)

Dynamic-Link Libraries (from MSDN) (de Windows)

DLL Information (StackOverflow) (de Windows)

Programming in C (Unix)

An Overview of Compiling and Linking (Windows)

+1

Ver: http://stackoverflow.com/questions/124549/dll-information – Shog9

+2

@tunnuz - gracias por proporcionar el resumen –

Respuesta

2

de inicio con Wikipedia - un montón de información allí, y muchos enlaces a otros recursos útiles.

P.S. Pero tal vez sería mejor hacer una pregunta específica sobre el problema que está teniendo actualmente. Aprender a resolverlo puede ser de gran ayuda para enseñarte los conceptos generales.

+0

No tengo un problema real ahora, solo quería saber más sobre cómo funcionan las bibliotecas bajo los diversos sistemas y cómo crearlos. – tunnuz

+0

Wikipedia como herramienta de enseñanza. Creo que lo puedes hacer mejor. Pruebe estos libros: Experto C Programación por Peter van der Linden Dentro de la C++ Object Model por Stanley B. Lippman reflexiones sobre C++: Una década de Programación visión y experiencia de Andrew Koenig Y por último y más específicamente para sus necesidades inmediatas: http://www.amazon.com/Windows-via-C-Pro-Developer/dp/0735624240/ref=pd_rhf_shvl_3 – MaSuGaNa

+0

MaSuGaNa - estoy seguro de que una mirada 2-3 hora a la página de Wikipedia y los artículos que está apuntando a se parece más a lo que el PO tenía en mente, sin duda que la lectura de libros de gran tamaño 4 de los cuales sólo pequeñas partes tienen que ver con lo que él le preguntó sobre - y usted ni siquiera se indican qué partes –

2

puede encontrar algunos antecedentes de esta article here. Te da los antecedentes básicos. Estoy tratando de localizar algo con diagramas. Este debería ser un buen lugar para comenzar.

las diferencias fundamentales entre una biblioteca estática y una DLL es que con la biblioteca estática el código se compila en su ejecutable final mientras que una biblioteca de vínculos dinámicos implica unir en una biblioteca "stub" (en su aplicación), que contiene asignaciones a funciones en un archivo separado (.dll).

Esta es la entrada de MSDN en creating a static Win32 Library que también le puede ayudar. enlace ..another a MSDN para creating a Dynamic Link Library ..

acaba de encontrar this site que abarca las definiciones de básicamente todo el aspecto de haber citado.

Cuestiones relacionadas