问题标签 [unmanaged]
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.
c# - 什么是编程中的托管或非托管代码?
我在我的 C# 代码中使用了一个特定的命令,效果很好。但是,据说它在“非托管”代码中行为不端。
什么是托管或非托管代码?
asp.net - 非托管 DLL 无法在 ASP.NET 服务器上加载
这个问题与一个 ASP.NET 网站有关,最初在 VS 2005 中开发,现在在 VS 2008 中开发。
该网站使用两个非托管外部 DLL,它们不是 .NET,我没有编译它们的源代码,必须按原样使用它们。
该网站在 Visual Studio 中运行良好,可以正确定位和访问这些外部 DLL。但是,当网站发布在网络服务器(运行 IIS6 和 ASP.NET 2.0)而不是开发 PC 上时,它无法定位和访问这些外部 DLL,并且我收到以下错误:
Unable to load DLL 'XYZ.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
外部 DLL 与包装它们的托管 DLL 以及网站的所有其他 DLL 一起位于网站的 bin 目录中。
搜索这个问题显示许多其他人似乎在从 ASP.NET 网站访问外部非 .NET DLL 时遇到同样的问题,但我还没有找到有效的解决方案。
我尝试了以下方法:
- 运行 DEPENDS 检查依赖关系,确定前三个在路径中的 System32 目录中,最后一个在 .NET 2 框架中。
- 我将这两个 DLL 及其依赖项放在 System32 中并重新启动服务器,但网站仍然无法加载这些外部 DLL。
- 授予网站 bin 目录的 ASPNET、IIS_WPG 和 IUSR(对于该服务器)的完全权限并重新启动,但网站仍然无法加载这些外部 DLL。
- 将外部 DLL 作为现有项目添加到项目中,并将其“复制到输出”属性设置为“始终复制”,网站仍然找不到 DLL。
- 还将他们的“构建操作”属性设置为“嵌入式资源”,网站仍然找不到 DLL。
任何有关此问题的帮助将不胜感激!
c# - unmanaged.dll.manifest 文件有什么用途?
我观察到带有 unmanaged.dll.manifest 文件标记的 unmanaged.dll 文件。在编辑器中打开这些文件时,它似乎是正常的 XML,带有指向某些其他依赖管理的链接?组件。这似乎是最近的变化.. 不记得之前见过他们。
- 为什么需要这些文件?(如果我不得不猜测,那就是加载依赖的托管程序集和/或 CLR)
- 这些文件还包含哪些其他有用的信息?它们是否也包含任何指向相关非托管 dll 的链接(这会很好)
.
c# - MX 记录查询失败
我是一个托管代码的人,所以当我与非托管代码互操作时,它不像宣传的那样工作,我会抽搐。有人可以向我解释为什么当命令行工作时这会返回没有 MX 记录nslookup
?
返回的错误代码表示“未找到给定 DNS 查询的记录”
令人担忧的是,这是我发现的第一个未通过此测试的域,但我被告知它“经常”发生。(没有人能经常为我定义,但我正在努力)
无论如何,当我通过命令提示符执行 nslookup 时,我会返回:
c++ - C++ 的数据库访问库
背景:
我有一个用本机 C++ 编写的应用程序,它使用 wxWidgets 工具包的 wxODBC 数据库访问库,该库正在从所有未来版本的 wxWidgets中删除。我需要用另一种支持下面概述的假设和约束的数据库访问方法来替换它。我不要求替换使用本机 DBMS API 或 ODBC,但它必须满足下面列出的限制。
假设/约束
图书馆必须:
- 支持本机(即非托管)C++
- 32 位 Windows 2000/XP/2003
- 视觉工作室 2005
- 微软 SQL Server 2000 和 2005
- 甲骨文 9 和 10
- 运行时性能大于或等于 wxODBC
- 支持多个 DBMS 的单个程序员 API(例如,不想为使用不同的 DBMS 编写不同的代码)
不错但可选:
- 64 位 Windows 操作系统
- 32 位和/或 64 位 Linux 操作系统
- 微软 SQL 服务器 2008
- 甲骨文 11
- MySQL
- 任何额外的 DBMS
- 视觉工作室 2008
- 开源
- 运行时性能接近或等于原生 DBMS API
问题:
有哪些好的库(免费、开源或付费)可以从一个 API(包括 Oracle 和 Microsoft SQL Server)支持多个 DBMS,并且可以从本机 C++ 中使用?
请描述您过去在给定库方面的任何经验 - 好的或坏的 - 以及您为什么推荐或反对给定库,特别是关于上述假设和限制。
也可以看看:
https://stackoverflow.com/questions/74141/good-orm-for-c-solutions
c++ - 混合托管和非托管 C++ 的最佳单元测试工具是什么?
我将开始为混合了托管和非托管 C++ 的代码库实施一些单元测试。NUnit 可以用非托管代码破解它吗?有更好的选择吗?
c++ - 在托管包装器中包装非托管 c++
我有一个非托管 C++ 库。我想公开 .NET 应用程序的功能。我不确定如何处理一个特定的功能:
typedef void (free_fn*) (void*); void put (void *data, free_fn deallocation_function);
这个想法是您将动态分配的缓冲区传递给函数并提供一个释放函数。库将异步处理数据,并在以后不再需要数据时释放缓冲区:
无效 *p = malloc (100); ... 填充缓冲区... put (p, free);
我怎样才能将这种东西暴露给 .NET 应用程序?
.net - 在托管 .NET 代码中分配非托管内存
嗨,我有一个非托管函数,它占用 malloc 分配的一大块内存,然后以异步方式释放它。我想将它包装到托管包装器中。下面的代码可以吗?
c# - 有没有办法从 C# 应用程序调用非托管(非 COM)dll?
有没有办法在我的 C# 应用程序中使用(引用)用非托管 C++(不是 COM 库)编写的 DLL?
当我尝试从 Visual Studio 中引用它时,我收到“不是 COM 对象”错误消息。
也许有某种翻译器\路由器可以 COMify 我的 DLL 参考?我不知道 COM 和 COM 互操作是如何工作的,因为我在这对我来说已经没有必要的时候就开始编程了。
谢谢你。
c# - 在 C# 和非托管 C++ 之间传递自定义对象
我有一个旧版 DLL,其中包含我需要从 C# 代码调用的几个方法。其中一种方法接收指向另一个 C++ 类的指针,该类位于其他 C++ 程序中,而不是 DLL。
我很确定我需要使用 pinvoke 来回编组对象,但我还没有发现任何关于编组自定义对象的内容。
实现这一目标的最佳方法是什么?