1.我在一个c# .net的工程中,引用一个dll,为什么有的能引用,有的不能引用?
它们有什么不同? 或者说dll分为哪几种?各有什么特点?对与不同种类的dll我应该如何使用?
3.网上下载的开源代码库很多是C编写,我如何将它们重新编译为dll。
如果想在c#的工程里使用这个由开源代码新编译的dll,我应该如何编译和使用?
如果想在VC++的工程里使用这个由开源代码新编译的dll,我应该如何编译和使用?小弟只有这么点分,以后有了一定会散给大家。
它们有什么不同? 或者说dll分为哪几种?各有什么特点?对与不同种类的dll我应该如何使用?
3.网上下载的开源代码库很多是C编写,我如何将它们重新编译为dll。
如果想在c#的工程里使用这个由开源代码新编译的dll,我应该如何编译和使用?
如果想在VC++的工程里使用这个由开源代码新编译的dll,我应该如何编译和使用?小弟只有这么点分,以后有了一定会散给大家。
解决方案 »
- google code svn取消代码共享
- 有用过DotNewBar里的控件comboTree的么,绑定数据后怎么清空啊?
- socket同步信息接受问题
- 怎么实现winform 更新功能,谢谢大家
- 构造函数里 this.hide() 没效果?
- 用C#做好的应用程序,左边时TreeView,右边是工作窗口,当右边内容较多时,用滚动条把工作窗口向左移,但移过去后又移不回来
- 急求TreeView的展开折叠和选择代码 WebForm的
- 求一个多客户端与服务端通信的例子。
- .net制作安装程序报错“不可恢复的生成错误”
- 請教一個關于插入圖片的問題
- 简单的控制台学习资料,SQL查询器
- 如何储存一维数组中,每两个数组成的组合?
[DllImport("User32.dll")]
static extern Boolean MessageBeep(UInt32 beepType);
时间长了就知道了,又不是造导弹用托管语言(C++/CLR,C#,VB.NET,J#)调用.Net的类库生成的Dll都称为托管程序集,可以在工程中引用后直接使用里面的类其它的都是平台相关的DLL,有些符合COM规范的DLL微软包装后提供给.Net使用.如Office组件大部分是原始DLL(即不是COM,也不是程序集),必须用DllImport导入其中的函数再调用,而且在参数设置方面往往很麻烦
非托管DLL:二进制代码或者机器码。
哎,一下说不清楚,还是系统的学习下计算机编程原理和组成原理可以解释你的疑惑。
1、托管dll:
举例:通过.NET生成的dll都是托管的可以直接引用。
2、COM dll:
需要通过Reg32命令来注册才能引用
3、非托管dll
举例:C++生成的非托管DLL
需要dllImport引用
1.应该如何将其编译为dll?可以提供给,其他的windows下的工程(如VC等)使用?
这种的是不是就不能编译为托管的dll呢?如果能的话,应该用什么方法呢?2编译时是使用微软的编译器和编译工具,还是使用gcc和GNU的编译工具?分别应该如何配置?能指点下大致的步骤和方法吗?3.在linux中,执行configure就可以生成makefile,在windows中要怎么生成makefile或者有其他的make方法吗?4.我顺着各位的指引搜了下,cygwin好像可以将其编译为windows下使用的dll,是不是用cygwin就可以解决我这个问题,就是“将网上下载的源代码(通常是C的),编译为windows下的工程可用的dll”这一最终目的。
实际上我的最终目的是想,将一些开源库,编译为能在windows平台下,提供给其工程(如VC,VB,c#)等使用的dll.以上问题真的是太谢谢大虾们,帮忙指点下。
所以如果我需要在 C# 中用非托管 dll,都会用 VC.NET 加个 .NET 的壳中转一下
反过来也一样