草庐IT

c# - 为什么 C# 没有 C++ 风格的静态库?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion最近我一直在开发一些共享一些通用代码的小型.NET应用程序。代码引入了一些接口(interface)来抽象出I/O呼吁进行单元测试。我希望应用程序是独立的EXE,没有外部依赖项。这似乎是静态库的完美用例。想想看,第三方控制供应商也可以从这种模式中受益。静态库中是否有一些我遗漏的隐藏问题?C#设计者有什么理由将它们排除在外吗?编辑:我知道ILMerge,但它没有提供与静态库相同的便利。

c++ - __declspec(dllimport) 如何加载库

http://msdn.microsoft.com/en-us/library/9h658af8.aspxMSDN说我可以使用__declspec(dllexport)从库中导出函数,但是如何将这个库加载到我的可执行文件中?我在DLL中有一个导出函数:__declspec(dllexport)voidmyfunc(){}现在我想在我的可执行文件中使用它:__declspec(dllimport)voidmyfunc(void);但是我的程序如何知道在哪里可以找到这个函数呢? 最佳答案 这是编译器/链接器的工作,只要你自动完成在链接器

c++ - __declspec(dllimport) 如何加载库

http://msdn.microsoft.com/en-us/library/9h658af8.aspxMSDN说我可以使用__declspec(dllexport)从库中导出函数,但是如何将这个库加载到我的可执行文件中?我在DLL中有一个导出函数:__declspec(dllexport)voidmyfunc(){}现在我想在我的可执行文件中使用它:__declspec(dllimport)voidmyfunc(void);但是我的程序如何知道在哪里可以找到这个函数呢? 最佳答案 这是编译器/链接器的工作,只要你自动完成在链接器

c++ - 将静态库与 dll 链接的正确方法

我的项目是通过几个静态库构建的,这些静态库应该链接到主dll库,因此获得了一个dll。使用__declspec(dllexport)属性不会导致静态库的指定函数出现在dll中,库根本没有与dll链接。然后我尝试将每个库构建为共享库,以获得导出函数的正确名称,并基于它们创建.def文件。使用.def文件会导致结果。在我的情况下,__declspec(dllexport)和.def-file应该同等对待吗?是否可以从源代码生成.def文件?由于我有C++代码,由于API中的修饰和存在类,我无法自己编写.def文件,因此上述使用临时生成的dll的方法与生产不一致。更新我想详细解释一下我的项目

c++ - 将静态库与 dll 链接的正确方法

我的项目是通过几个静态库构建的,这些静态库应该链接到主dll库,因此获得了一个dll。使用__declspec(dllexport)属性不会导致静态库的指定函数出现在dll中,库根本没有与dll链接。然后我尝试将每个库构建为共享库,以获得导出函数的正确名称,并基于它们创建.def文件。使用.def文件会导致结果。在我的情况下,__declspec(dllexport)和.def-file应该同等对待吗?是否可以从源代码生成.def文件?由于我有C++代码,由于API中的修饰和存在类,我无法自己编写.def文件,因此上述使用临时生成的dll的方法与生产不一致。更新我想详细解释一下我的项目

c++ - 有人知道 C/C++ Unix 二维码库吗?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。我正在寻找适用于C/C++的二维码库,而不是Java或.Net。有人知道吗?注意:有一个similarquestion不久前,但它没有得到正确回答。 最佳答案 这个怎么样?http://megaui.net/fukuchi/works/qrencode/index.en.html

c++ - 有人知道 C/C++ Unix 二维码库吗?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。我正在寻找适用于C/C++的二维码库,而不是Java或.Net。有人知道吗?注意:有一个similarquestion不久前,但它没有得到正确回答。 最佳答案 这个怎么样?http://megaui.net/fukuchi/works/qrencode/index.en.html

c++ - 为什么运行时库是编译器选项而不是链接器选项?

我正在尝试使用VisualStudio2005构建一个C/C++静态库。由于运行时库的选择是一个编译选项,我不得不构建我的库的四个变体,一个用于运行时的每个变体图书馆:/MT-静态运行时库/MD-DLL运行时库/MTd-调试静态运行时库/MDd-调试DLL运行时库这些是编译器选项,而不是链接器选项。来自Linux背景,这似乎很奇怪。不同的运行时库有不同的调用约定吗?为什么不能在链接时解析不同的运行时库,即当我链接使用我的静态库的应用程序时? 最佳答案 这些选项可以添加在运行时库头文件中使用的定义(例如__DLL和__DEBUG)。一

c++ - 为什么运行时库是编译器选项而不是链接器选项?

我正在尝试使用VisualStudio2005构建一个C/C++静态库。由于运行时库的选择是一个编译选项,我不得不构建我的库的四个变体,一个用于运行时的每个变体图书馆:/MT-静态运行时库/MD-DLL运行时库/MTd-调试静态运行时库/MDd-调试DLL运行时库这些是编译器选项,而不是链接器选项。来自Linux背景,这似乎很奇怪。不同的运行时库有不同的调用约定吗?为什么不能在链接时解析不同的运行时库,即当我链接使用我的静态库的应用程序时? 最佳答案 这些选项可以添加在运行时库头文件中使用的定义(例如__DLL和__DEBUG)。一

c++ - Visual C++ Express 2008 的静态运行时库链接

如何告诉VisualC++Express2008静态链接运行时库而不是动态链接?我的exes目前不能在没有安装某种VS的计算机上运行,​​我很想改变它。:) 最佳答案 抱歉,我没有要测试的VC++Express,但在标准版中,我使用项目属性->配置属性->C/C++->代码生成->运行时库。Dll和DllDebug用于动态链接。 关于c++-VisualC++Express2008的静态运行时库链接,我们在StackOverflow上找到一个类似的问题: ht