从Windows库中调用特定函数

时间:2013-11-18 16:10:28

标签: c++ windows

好的,所以我听说“windows.h”很大,不应该包含在我在uni写的程序中,但是那个库中有一个功能可以很好地用于我在uni的机器人模块,无论如何只能从库中调用“Sleep()”函数

代码:

std::cout<<"Time Elapsed"<<std::endl;
//setDeltaheading to a random direction
desiredState.setVel(0,1.0);
desiredState.setDeltaHeading((rand() % 120) - 45);
// need to wait for turn to complete
state = init;

4 个答案:

答案 0 :(得分:2)

您可以使用特殊的宏关闭一些来自windows.h的标题:

   VC_EXTRALEAN
   WIN32_LEAN_AND_MEAN

来自http://support.microsoft.com/kb/166474

答案 1 :(得分:1)

如果您使用的是C ++ 11,那么您应该使用std :: thread :: sleep_for(xxx);

#include <chrono>
#include <thread>
std::this_thread::sleep_for(std::chrono::milliseconds(2000));

更多信息here

答案 2 :(得分:0)

只需加入windows.h即可。是的,它很大,而且,像任何其他标题一样,只有在您需要它时才应该包含它。标题的大小只会影响编译时间(给定合理的优化选项)。

如果您可以访问C ++ 11编译器,也可以使用std::this_thread::sleep_for

答案 3 :(得分:0)

然后更好的方法是在头文件中声明Sleep函数。您可以从头文件中复制其定义。

但是,您不必担心大头文件,除非它显着减慢您的速度。