2009-04-24 107 views
6

我最近不得不在Windows下编程一个大学项目的C++,我对静态和动态库系统,编译器需要什么,链接器需要什么,如何构建一个库......感到非常困惑。有关于此的文件?我对* nix库系统也很困惑(所以,dylibs,ar工具,如何编译它们......),您能否在各种体系结构中指出关于当前库技术的评论文档?静态库,动态库,动态链接库,入口点,头文件...如何摆脱这个活着?

注意:由于我的知识水平不高,此消息可能包含错误的概念,请随时编辑它。

谢谢

随意添加更多的参考,我将它们添加到总结。


参考

由于大部分的您发布的* nix或Windows特定引用我将在这里总结了最好的,我会标记为接受的答案维基百科的一个,因为是一个很好的起点(也有内部引用)来介绍这个东西。

Program Library Howto(UNIX)

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

DLL Information (StackOverflow)(Windows)中

Programming in C(UNIX)

An Overview of Compiling and Linking(Windows)中

+1

请参阅:http://stackoverflow.com/questions/124549/dll-information – Shog9 2009-04-24 07:43:28

+2

@tunnuz - 感谢您提供摘要 – 2009-04-25 08:46:12

回答

2

开始Wikipedia - 大量的那里的信息和很多链接到其他有用的资源。

P.S.但是,也许最好就你目前遇到的问题提出具体问题。学习如何解决这个问题可能会对教你一般概念有很大的帮助。

2

你可以找到这个article here一些背景信息。它给你的基本背景。我试图用图表来定位某个东西。这应该是一个开始的好地方。

静态库和DLL之间的根本区别是与静态库,而动态链接库涉及到一个“存根”库链接(到应用程序),其中包含映射到代码编译成最终可执行在单独的文件(.dll)中运行。

这是关于creating a static Win32 Library的MSDN条目,它可能对您也有帮助。 ..另一个链接到MSDN的creating a Dynamic Link Library ..

刚刚发现this site它涵盖了基本上你引用的所有方面的定义。