问题标签 [unsafe]

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 投票
2 回答
446 浏览

c# - 来自旧版 C++ 应用程序窗口问题的 C# 子进程

我们有一个 c++ 遗留应用程序,并且一直在使用 c# 小程序对其进行扩展,这些小程序是使用来自父 c++ 应用程序的 COM 调用的。它们会调出非模态窗口。此外,我认为这些 .NET 窗口不是 c++ 应用程序的正确子窗口,因为 EnumChildWindows 错过了它们,而 EnumWindows 找到了它们。但是,仍然存在一种类似孩子的行为,即如果您关闭父 c++ 应用程序,c# 窗口也会关闭。

我对这一切的基本问题是,如果用户调用这些 c# 小程序之一,然后无意中单击父 (c++) 应用程序窗口,c# 窗口就会掉到后台。如果用户想把它带回顶部,他们应该能够在任务栏中单击它的图标。不幸的是,由于一些奇怪的原因,经常需要点击任务栏图标三次!第一次应该把一个隐藏的窗口带到顶部,但它没有。第二次点击最小化隐藏窗口,第三次恢复成功。

在弥合遗留-> .NET 鸿沟时,是否还有其他人遇到过此错误/功能?我想知道我是否可以拦截第一次单击我的 C# 小程序的任务栏图标,并以某种方式强制它返回顶部。:-)

我一直在尝试以下方法:

但即使我得到这个工作,我仍然需要拦截第一次鼠标点击。谢谢你的帮助!

0 投票
3 回答
7216 浏览

c# - 如何在C#中从指针读取字符串到缓冲区

如何从此 C++ dll 调用中读取 C# 中的错误字符串?

谢谢!

0 投票
6 回答
149318 浏览

c# - 为什么我会收到错误“不安全代码可能仅在使用 /unsafe 编译时出现”?

为什么我会收到以下错误?

不安全代码可能仅在使用 /unsafe 编译时出现?

我使用 C# 和 Visual Studio 2008 在 Windows CE 上进行编程。

0 投票
5 回答
11453 浏览

c# - 如何在 C# 中显示指针地址?

自从我用 C# 编程以来,我没有做过任何指示——而且我的 C++ 时代很久以前了。我想我应该更新我的知识,只是因为这里的另一个问题而和他们一起玩。我都理解它们,但我不知道如何将指针的地址写入控制台......

UsingConsole.WriteLine(*cp);给了我指针地址的当前值......如果我想显示实际地址怎么办?

0 投票
2 回答
255 浏览

.net - 在线程不安全的 .NET 队列对象中会发生什么?

我有一个 .NET 队列对象。生产者线程做Enqueue操作,入队的数据是一个byte[]数组,而另一个消费者线程对同一个队列对象做Dequeue操作。

我使用锁来处理并发。我的代码似乎一直运行良好,但昨天发生了奇怪的事情。我从消费者线程得到的数据与我产生的数据不同:数组长度错误、重复数组……这是线程安全保护失败造成的吗?

在我看来,并发只会导致数据丢失。

我在这里的第一篇文章,请多多包涵。

0 投票
5 回答
112 浏览

c - 嵌套调用会导致 C 中未初始化的参数?

是否len已正确初始化且set_array通话安全?

如果没有,你会推荐什么?

0 投票
2 回答
3626 浏览

c# - Marshal.PtrToStringUni() vs new String()?

假设我有一个指向 unicode 字符串的 char* 类型的指针,并且我知道长度:

我有两种方法可以将其转换为 .NET 字符串:

在我的测试中,这两个调用都给了我完全相同的结果,但是new string()Marshal.PtrToStringUni().

为什么会有这种性能差异?两者之间还有其他功能差异吗?

0 投票
3 回答
3834 浏览

c# - 为什么不能在迭代器上下文中使用不安全的关键字?

在查看 Jon 在回答方面做得很好的这个问题时......“如何使用迭代器反向读取文本文件”。还有一个类似的问题,我用指针 hocus pocus 回答了。.net有没有办法在关闭之前从下到上读取文本文件......

现在我确实开始尝试使用指针来解决这个问题,好吧,它看起来很粗糙而且边缘粗糙......

但发现 C# 编译器无法使用此实现处理此问题,但当 C# 编译器以错误 CS1629 拒绝时被摧毁 - '不安全代码可能不会出现在迭代器中'

为什么呢?

0 投票
1 回答
813 浏览

c# - 我应该将我的安全代码与我的不安全代码混合在一起吗?

我正在开发一个使用一堆 WIN32 API 调用并需要一些不安全代码的项目。从最佳实践的角度来看,我是否应该将此代码隔离在使用 /unsafe 开关编译的自己的 DLL 中,同时保持我的主应用程序安全?

换一种方式。是否有任何理由不使用 /unsafe 开关编译项目?有没有潜在的风险?

0 投票
2 回答
1813 浏览

c# - 我可以在 VB.NET 中使用带有不安全代码的 C# dll 吗?

C# 有一个 FastBitmap 类,可让您访问和修改位图的像素信息。我已经在一些 C# 项目中使用过它,但我现在在 VB.NET 中需要它。问题是该类使用了不安全的代码,VB.NET 不支持该代码。

问题是。我可以在 dll 中编译 FastBitmap 类并在 VB.NET 中使用它吗?

[编辑] 或者是否有一些库可用于在 VB.NET 中修改像素数据?