2013-11-18 4 views
0

ОК, поэтому я слышал, что «windows.h» массивный и не должен быть включен в программы, которые я пишу в uni, но есть функция в той библиотеке, которая будет работать хорошо для моего модуля робототехники в универе, есть в любом случае, чтобы вызвать «() Sleep» функцию только из библиотекиВызвать определенную функцию из библиотеки Windows

Код:

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; 
+2

принятия программных решений, основанных на слухах, как правило, не рекомендуется. Вероятно, вы, в том числе, '' и определяете' WIN32_LEAN_AND_MEAN' и 'NOGDI' – Mgetz

+1

Просто наличие , включенного в файл с предварительно запрограммированным заголовком (т. Е. Stdafx.h), устраняет проблемы времени сборки. Кроме того, размер windows.h не соответствовал закону Мура. Ваш компьютер во много раз быстрее, чем тот, когда введено определение LEAN_AND_MEAN. – selbie

ответ

1

Если вы используете C++ 11, то вы должны использовать зЬй :: Тема :: sleep_for (ххх);

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

Подробнее here

0

Просто включите windows.h. Да, он большой, и, как и любой другой заголовок, он должен быть включен только в случае необходимости. Размер заголовка влияет только на время компиляции (учитывая разумные параметры оптимизации).

Если у вас есть доступ к компилятору C++ 11, вы также можете использовать std::this_thread::sleep_for.

0

Тогда лучшим способом является объявление функции Sleep в файле заголовка. Вы можете скопировать его определение из файла заголовка.

Однако вы не должны беспокоиться о большом файле заголовка, если он значительно не замедляет вас.

Смежные вопросы