99得票7回答
从C#调用C++代码是否可行?

是否可以从.NET语言如C#中调用C++代码,可能是编译为代码库文件(.dll)的代码? 具体来说,例如RakNet网络库的C++代码。

20得票1回答
在C#中,什么是与WORD等效的内容?

我正在尝试访问一个非托管库,很幸运有一份详细的API指南。 不幸的是,我不知道C#中与C++的WORD类型相对应的内容。同样,我也不知道DWORD对应什么。

8得票3回答
使用C++/CLI封装非托管C++ - 一个正确的方法

如标题所述,我希望将我的旧C++库工作在托管的.NET环境中。我想到了两种可能性: 1)我可以尝试使用/clr编译库,并尝试“一切正常”的方法。 2)我可以编写一个托管包装器来操作非托管库。 首先,我希望我的库能够快速工作,就像在非托管环境中一样。因此,我不确定第一种方法是否会导致性能大...

7得票6回答
在托管代码中,为了保持良好的性能,我应该注意哪些方面?

我最开始是一名本地的C++程序员,在C++中,你的程序中的每个进程都与你的代码绑定,也就是说,除非你想让它发生,否则什么都不会发生。并且,每一位内存都是根据你编写的内容进行分配(和释放)的。因此,性能完全由你负责,如果你做得好,就会获得出色的性能。 (注意:请不要抱怨像STL这样的自己没有写...

7得票5回答
为32位和64位未托管的DLL创建托管包装器

我们正在创建一个C#包装器,用于对非托管DLL进行封装。该非托管DLL有32位和64位两个版本。我们将托管的包装器保留在自己的项目中,以便我们可以将其构建为单独的组件,并在解决方案中重复使用它。 但是这会带来一些问题。由于32位和64位版本的非托管DLL具有相同的名称,因此我们无法将正确的非...

10得票2回答
C#封送非托管指针返回类型

我有一个未被管理的库,其中有一个函数长这样:type* foo(); foo 基本上通过 Marshal.AllocHGlobal 在托管堆上为非托管的 type 分配了一个实例。 我有一个托管版本的 type。虽然它不是可调平的,但我在成员上设置了 MarshalAs 属性,因此我可以使用...

21得票3回答
检测到“CallbackOnCollectedDelegate”问题。

我正在子类化一个应用程序。我的子类窗口过程在一个DLL中。我的DLL中的子类代码看起来有点像这样(精简了、删除了其他不相关的部分)。class FooBar { private delegate int WndProcDelegateType(IntPtr hWnd, int uMsg, ...

7得票1回答
在IIS/ASP.NET MVC 4中,带有非托管依赖关系的64位托管程序集无法加载

我有一个几乎空的ASP.NET MVC4项目,引用了一个64位的托管程序集,该程序集具有一组非托管依赖项。 托管程序集通过引用正常方式被引用。 非托管依赖项在后期生成事件中被复制到bin文件夹中,并且在Web应用程序启动时存在(已经验证过)。 问题是我得到了以下错误信息: 无法加载文件或程序集...

177得票13回答
编程中的托管代码和非托管代码是什么?

我在我的C#代码中使用了一个特定的命令,它运行良好。然而,据说它在“非托管”代码中表现不佳。 什么是托管或非托管代码?

10得票1回答
.NET 4.0中的动态程序集加载

我的问题始于将一个 .Net 2.0 应用程序迁移到 .Net 4.0。我必须这样做的原因是 Windows 8 默认情况下不启用更早的 .Net 版本,而我的应用程序无法要求用户启用它。 该应用程序是一个使用 .Net 组件通过 UnmanagedExports 的 NPAPI 插件。我将...