2015-04-08 4 views
1

Я вызываю исполняемый файл из программы C++ с помощью команды system(). Хотя каждый вызов успешный, я сталкиваюсь с проблемами, когда код C++ многократно вызывает исполняемый файл во время работы. В этот момент исполняемый файл занимает намного больше времени, чем предполагалось.вызов исполняемого файла с системной командой

Я должен добавить, что код C++, из которого вызывается исполняемый файл, является подпрограммой оптимизации. Тем не менее, исполняемый файл вызывается только последовательно. После завершения кода C++ продолжается до следующей итерации и снова вызывает исполняемый файл с другим набором параметров.

Существуют ли какие-либо ограничения в отношении системной команды, которые могут генерировать это? Есть ли максимальное количество раз, когда вы можете позвонить ему за короткий промежуток времени?

Благодарим за помощь.

MDR.

+3

Вы видели [это] (http://www.cplusplus.com/forum/articles/11153/) post ? – NathanOliver

ответ

0

Системные вызовы немедленно возвращаются - при запуске командного процесса. Если вы выполняете несколько вызовов в короткой последовательности, вы можете одновременно создавать множество экземпляров команды процесса или оболочки. Это потребует ресурсов памяти и процессора, что приведет к замедлению.

Вы хотите узнать время между системными вызовами, когда вы замечаете и выпускаете, и как долго выполняется процесс или команда, выданные системным вызовом. if (время для завершения> времени между вызовами), то вы будете создавать несколько экземпляров созданного процесса

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