Думайте нестандартно. Какое приложение из тех, которые вы используете регулярно, делает это?
Конечно, отладчик! Но как вы можете добиться такого поведения, чтобы подражать низкому процессору?
Секрет вашего вопроса asm _int 3
. Это команда "pause me" сборки, которая отправляется из подключенного отладчика в приложение, которое вы отлаживаете.
Подробнее о int 3 на этот вопрос .
Вы можете использовать код из этого инструмента для непрерывной приостановки / возобновления процесса. Вы можете добавить интервал и заставить этот инструмент приостанавливать ваше приложение на этот промежуток времени.
Скорость эмулируемого процессора будет: (YourCPU / Interval) -0,00001% из-за сигнализации и других процессов, запущенных на вашем компьютере, но это должно сработать.
Об эмуляции с низким объемом памяти:
Вы можете создать класс-оболочку, который выделяет память для приложения, и заменять каждое выделение вызовом этого класса. Вы сможете точно указать объем памяти, который может использовать ваше приложение, прежде чем оно не сможет выделить больше памяти.
Что-то типа: MyClass* foo = AllocWrapper(new MyClass(arguments or whatever));
Тогда у вас может быть AllocWrapper, выделяющий / освобождающий память для вас.