问题标签 [native]

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 投票
4 回答
1577 浏览

.net - .NET 应用程序可以编译为本机吗?

只是想知道 .NET 应用程序是否可以提前编译为本机代码?即使可以,我也不打算这样做;我只是好奇。

谢谢

0 投票
4 回答
37215 浏览

iphone - 在本机 iPhone 应用程序中重复背景图像

如果没有将 UIWebView 作为我的 nib 文件中的最后一层,我如何将重复的背景图像添加到 iPhone 应用程序(如分组 UITableView 的背景中的灯芯绒外观)?

我是否需要创建一个 iPhone 屏幕大小的图像并使用复制和粘贴手动重复它?

0 投票
3 回答
979 浏览

.net - 我可以为从 IntPtr 编组值的方法创建单元测试吗?

我正在使用一个本机库,它将 IntPtr 返回到包含属性值的内存位置。我知道属性的类型是什么,并且我有一种方法可以从指针指向的内存中编组一个值(获取 IntPtr 和属性的类型)。此方法调用 Marshal.ReadInt32,或读取一系列字节并将它们转换为双精度,或使用 Marshal.PtrToStringUni 等读取字符串。我想为此方法编写一些单元测试,但不确定我该怎么做关于创建 IntPtr 以传递给该方法。我正在使用 NUnit,不能使用模拟框架。

0 投票
8 回答
3437 浏览

c++ - 使用外部(非项目)dll 的本机 VC++ 参考如何指定 dll 的路径

我有一个使用 dll 的本机 VC++ 项目(不在项目中)。现在,我必须将 dll 放在“Windows 用来定位 DLL 的搜索路径” 链接中

但我不希望 dll 位于可执行文件或当前目录或 windows 或系统目录中。

因此,据此我唯一的选择是将路径添加到 %PATH% 环境变量。

还有其他方法吗?

有没有一种优雅的方法(添加到PATH)?我应该在安装时这样做吗?如果我这样做,我应该担心吗?

0 投票
4 回答
4931 浏览

c# - C#项目设置“允许不安全代码”的实际作用是什么

我想知道 C# 项目设置“允许不安全代码”是否仅适用于项目本身中的不安全 C# 代码,或者在链接本机 C++ DLL 时是否需要设置此选项?如果在托管 DLL 中链接本身链接到本机 DLL 呢?这个选项到底在做什么?

0 投票
3 回答
333 浏览

.net - 如何判断我的托管代码是否由于本机库调用而泄漏内存?

我有一个调用本机库的托管 dll。这个本机库通常返回 IntPtrs。这些可以传递给本机库中的其他方法来执行操作,或者告诉库释放与 IntPtr 关联的实例。但只有一些实例需要以这种方式释放,其他实例由库管理。问题是文档并不总是清楚地说明哪些实例必须被释放,哪些不能。

我想知道的是,是否有一种方法可以判断我的代码是否保留了对任何必须释放的指针的引用,从而导致内存泄漏?

0 投票
2 回答
5957 浏览

iphone - 以编程方式设置 iPhone 壁纸(锁定屏幕背景)?

我有一个应用程序,它可以受益于用户能够选择将图像设置为墙纸(“滑动解锁”屏幕上的背景图像)。

非越狱第三方应用程序有没有办法做到这一点?在 iPhone 文档中搜索“壁纸”不会返回任何结果。

0 投票
4 回答
7511 浏览

windows-mobile - 适用于 Windows CE/Mobile 的代码分析/性能分析工具

除了 Visual Studio 中的工具,您还知道哪些工具可以分析 Windows CE/Mobile 应用程序中的性能瓶颈?我正在寻找类似 AQTime for CE/Mobile 的东西,以分析编译为本机代码的 C/C++ 应用程序。

0 投票
1 回答
345 浏览

memory - 从 SafeArrayGetElem 调用中释放内存?

我在 C# 中有一些代码,它有一个 com 包装器。此 com 包装器用于本机 c++ 应用程序。c++ 代码使用一种方法,该方法从 c# 库中返回一个类的实例数组。实例来自 SafeArray,如下所示:

我想释放为实例 l 分配的内存,但是如果我调用

然后我崩溃了。

我试过了

并使用

但我仍然为数组中的每个实例泄漏 4 个字节。

任何想法我应该如何去释放这个记忆?

0 投票
6 回答
30374 浏览

windows - 如何重命名 DLL 但仍允许 EXE 找到它?

我们有一个内部生成的 DLL,并且我们有相关的存根静态 LIB。

我们还有一个 EXE,它使用静态链接到 DLL 的 LIB 文件的简单方法(即,不手动使用 LoadLibrary)使用此 DLL。

当我们部署 EXE 时,出于混淆原因(应客户要求),我们希望更改 DLL 文件名。

我们怎样才能做到这一点,以便我们的 EXE 仍然自动找到 DLL?

我尝试重命名 DLL 和 LIB 文件(在将它们构建为正常名称之后),然后更改 EXE 项目设置以与重命名的 LIB 链接。这在运行时失败,因为我猜 DLL 的名称被烘焙到 LIB 文件中,而不是链接器将“.lib”替换为“.dll”而简单地猜测。

一般来说,我们不想将这种混淆应用于 DLL 的所有用途,因此我们希望保持当前 DLL 项目输出文件的原样。

我希望有一种方法可以编辑 DLL 的 LIB 文件,并将 DLL 文件的硬编码名称替换为其他名称。在这种情况下,这可以完全在 EXE 项目中完成(可能作为预构建步骤)。


更新:我发现延迟加载不起作用,因为我的 DLL 包含导出的 C++ 类。见这篇文章

有没有其他选择?