获取Random.h(使用unistd.h)来处理VC ++

时间:2013-12-17 12:29:55

标签: c++ visual-c++

我是C ++的新手。我想使用头文件Random.h(这里描述http://ftp.arl.mil/random/)。它使用unistd.h 这给了我一个错误

“无法打开包含文件:'unistd.h':没有这样的文件或目录”

我已经google了一下,看到问题是unistd.h适用于unix而不是visual express。有些帖子建议使用mingw,但我已经尝试过,但它不起作用。任何人都可以告诉我如何使用unistd.h(或至少我需要它的一部分)来使用Visual Express。 网上有一些建议但我无法找到解决我特定问题的任何建议。 谢谢!

2 个答案:

答案 0 :(得分:0)

包括unistd.h用于调用getpid()。将#include更改为< process.h>并将所有getpid()调用更改为_getpid()(注意前面的额外下划线)。

msdn.microsoft.com/en-us/library/t2y34y40.aspx

答案 1 :(得分:0)

Visual C ++不允许在头文件中分配静态const双精度(ony整数类型)。您需要将.h文件中的行更改为此...

static const double _F;

然后创建一个只包含此...的Random.cpp文件。

#include "Random.h"

// Initialize static variable
const double Random::_F    = 1. / Random::_M;