MSVC与x2B之间的关系+;rand()和C#System.Random

MSVC与x2B之间的关系+;rand()和C#System.Random,c#,c++,random,C#,C++,Random,我怎样才能使MSVC++程序和C#NET程序产生相同的随机数序列 可能吗?MSVC++rand()和System.Random之间是否存在任何关系 鉴于下面的例子,它们似乎完全不同 #包括 使用名称空间std; int main() { srand(1); CUT最简单的方法是对一个C++的DLL进行非托管引用,其中包含一个参数作为种子的随机数生成器。然后可以确定它们是相同的。 < P>这是可能的(不是很容易)。在非托管C++中使用.NET Migual库。您可能需要查看文档。 < P>是的,它

我怎样才能使MSVC++程序和C#NET程序产生相同的随机数序列

可能吗?MSVC++
rand()
System.Random
之间是否存在任何关系

鉴于下面的例子,它们似乎完全不同

#包括
使用名称空间std;
int main()
{
srand(1);

CUT

最简单的方法是对一个C++的DLL进行非托管引用,其中包含一个参数作为种子的随机数生成器。然后可以确定它们是相同的。

< P>这是可能的(不是很容易)。在非托管C++中使用.NET Migual库。您可能需要查看文档。

< P>是的,它们是非常不同的函数。偶尔会发现Bcl类只是使用PNECK执行它们的本地同系物的非常薄的包装。这不是Stask.Noad的情况。它是一个100%托管IM。与srand版本完全分离

你能帮我们一点忙,解释一下为什么你想要一组相同的数字吗?例如,它是用来测试的吗


如果你真的想要拥有相同的随机数,一个选项是创建一个简单的COM对象,它封装SRAND。COM对象既可以用于托管代码,也可以用于本地代码,因此可以在两个地方提供相同的算法。

我将C++中的一个项目移植到C++中。我想通过使用相同的随机数序列快速检查我是否遗漏了任何内容,这样我可以期望sim卡在两个窗口中看起来完全相同!这是正确的方法,而不是公认的答案。仅为随机函数引入CLR将是疯狂的。