问题标签 [unmanagedresources]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1412 浏览

c# - 如何处理由非托管代码块创建的异常

在我的代码中,我通过进程调用运行 exe 文件。如何处理exe文件产生的异常。有人可以帮忙吗。

0 投票
3 回答
3570 浏览

c# - 如何手动处理非托管资源?

我正在使用一些非托管代码,例如-

关于在调用 Dispose 时如何处理/清理这个外部静态对象的任何建议?

0 投票
4 回答
3436 浏览

.net - .NET 中的托管资源与非托管资源。有什么不同?

我正在阅读Wrox 的 Professional C# 4 and .NET 4关于“内存管理和指针”一章,特别是关于垃圾收集在 .NET 中的工作方式。它说“垃圾收集器不知道如何释放非托管资源(例如文件句柄、网络连接和数据库连接)”的原因,这就是为什么这些类应该声明析构函数(又名“终结器”)或实现IDisposable.

似乎所有这些“非托管资源”示例都与与应用程序外部且独立于 .NET Framework 的系统的交互有关。但是,我不确定这是否是完全的区别,所以,

非托管资源具有和托管资源不具有的显着特征到底是什么?

0 投票
7 回答
7765 浏览

c# - 我们在 C# 中有非托管资源吗?

我和我的朋友讨论了 C# 中的托管和非托管资源。

据我朋友说:

1.a) C# 中的每个对象都是托管的,当我们在 C# 中编码时,没有什么像非托管对象或资源那样。非托管资源概念仅随 C++ 提供。

1.b) 无论我们在 C++ 中有托管还是非托管资源,我们都需要显式释放它。由于我们在 C# 中有自动垃圾收集器,因此我们无需考虑管理资源。

据我说:

2.a)如果我们没有非托管资源,那么为什么我们需要 C# 中的终结器或 Dispose 方法?

2.b)垃圾收集器仅具有有关已分配内存的信息,而不是有关资源状态的信息。因此我们需要在 C# 中使用 dispose 方法来释放资源。

我需要帮助来理解上述哪些参数是正确的,以及关于 c# 中非托管资源的信息,它们是否存在?

提前致谢。

0 投票
2 回答
1388 浏览

c# - UnmanagedMemoryStream 处理和内存泄漏

考虑以下代码片段并忽略缺少using子句或显式处置:

什么时候在unmanagedMemoryStream上调用 Dispose() ?如果包含方法是非静态的,这将如何改变?在这种情况下是否可能发生非托管内存泄漏?

0 投票
1 回答
1022 浏览

c# - 从托管代码中使用非托管 dll 中的资源字符串表

我有一个非托管 MFC 应用程序。我已经为应用程序编写了一个 CLI 包装器并将其转换为 DLL。未管理的代码具有字符串表资源,用于在这里和那里显示消息。

现在我可以从 C# 调用非托管代码并使用内部逻辑。但是当它尝试读取资源字符串时,代码会出错。我希望资源没有被加载,所以我尝试从 kernel32.dll 中包含一个 P/invoke LoadLibraryEx,但仍然没有用。如何让非托管代码使用其资源文件?它可以这样做还是应该修改?

谢谢。

0 投票
6 回答
165 浏览

c# - 在 C# 中对同一范围使用多个 using 语句时,调用 Dispose() 方法的顺序是否有保证?

换句话说,stf2的Dispose()方法是否保证首先被调用,然后stf1的Dispose()方法保证第二个被调用?(基本上:Dispose() 方法的调用顺序与它们所属对象的分配顺序相反?)

0 投票
1 回答
169 浏览

android - 是否有一些标准方法可以显式关闭服务和其他资源?

例如,当使用数据库连接、线程或 IO 流(所有需要显式关闭/释放的内容)时,是否有一些标准方法可以做到这一点?也许通过实现一些标准接口,以便框架/类消费者能够为我的类调用此资源清理逻辑?

对于那些对.NET Framework类比有一定经验的人来说,接口是IDisposable接口,所以通过实现这个接口,我可以将所有资源清理逻辑放在Dispose()方法中,这样类消费者就可以检查一个类的实例是否实现了IDisposable接口,然后Dispose()显式调用。

Android中也有内置的东西吗?

0 投票
1 回答
110 浏览

.net - 单元测试是否清理了非托管资源

我正在使用 TDD 并为使用非托管资源的 System.IO.Stream 对象创建单元测试。我的项目由许多这样的流组成,我想测试实现是否在处理它们时真正清理了它们的非托管资源。

知道我该怎么做吗?

今天早上我可能有点累,但我能想到的只是创建和处理 1k 个实例并查看内存消耗。

我还必须考虑“如果他们没有从 Read() 超时怎么办”,所以如果有一些很棒的通用超级神奇的测试流的方法可能是相关的。

0 投票
4 回答
5489 浏览

scala - 如何从 SBT .scala 项目配置中的多个非托管目录添加 jar

我试图让 SBT 构建一个可能有多个非托管目录的项目。如果我有一个目录,我可以很容易地这样做:

但是由于我有两个带有非托管 jar 的目录,所以我需要能够将它们全部添加。我在这里找到了一些信息,但对于我的完整.scala文件构建似乎仍然没有用。

我创建了一个简单的项目,在这里显示问题。下面是我的Build.scala文件。

更新

我从sbt-users 列表中获得了一些帮助,并且能够正确定义非托管 jar,但代码仍然无法编译(但sbt show unmanaged-jars正确显示了文件)。