Вопрос по С++

liko

Member
такс вот решил я попробывать по программировать на с++ под кпк, но возникла проблемка:

здесь я нашол практически все кроме самого главного - несложной книжки для начала программирования, мож хто подскажит что можно почитать? для начала
Лови:

Если понадобиться eMbedded Visual Tools 3.0 - 2002 Edition, скажешь, солью, она полностью бесплатная.
 

Вкладення

liko

Member
Еще раз всем спасибо, остановился на :
Код:
clk = inportb(0x40);
clk |= inportb(0x40) << 8;
и
Код:
if (clk <= clk_1) clk_sum = clk_sum + (clk_1 - clk);
   else clk_sum = clk_sum + clk_1 + !clk;
 

liko

Member
Всем доброго времени суток и с Новым Годом, да и с наступающим Рождеством!
Вопрос следующего характера, может кто сталкивался.
Приложение разработанное и предназначенное для работы под DOS, может применятся и под Win XP. А теперь сам вопрос: как запретить винде прерывать работу приложения в определенные моменты времени (когда приложение выполняет ответственную работу которую нельзя прерывать) ну а потом, уже пускай отдает процессор и другим приложениям? Команды запрета прерывания а также их маскирование не помогают, да в принципе и не должны. Заранее спасибо.
 

TraNceR

Member
дык хп, защищеный режим работы процесора, многопоточность. А ты хочешь что б все убилось и осталась твоя прога?
К винапи приложение может дотянуться? Или это чисто досовская прога?
 

liko

Member
дык хп, защищеный режим работы процесора, многопоточность. А ты хочешь что б все убилось и осталась твоя прога?
К винапи приложение может дотянуться? Или это чисто досовская прога?
Под DOS-ом я могу дотянуться и к системе, что с успехом и делаю. Систему завалить не есть цель! Требуется в определенные моменты времени, примерно на 20 мс, чтобы винда не прерывала процесс! К сожалению с виндой не знаком…и пока не знаю как это сделать.
 

dreamer

Member
Под DOS-ом я могу дотянуться и к системе, что с успехом и делаю. Систему завалить не есть цель! Требуется в определенные моменты времени, примерно на 20 мс, чтобы винда не прерывала процесс! К сожалению с виндой не знаком…и пока не знаю как это сделать.
Если можешь использовать винапи попробуй установить в такой момент приоритет выполнения процесса рил-тайм, только не забудь потом вернуть его обратно ;)
 

liko

Member
Спасибо за подсказку. Приложение пишется под DOS-ом, поэтому могу предположить что стандартными методами (программирование под Win) не пройдет. Может есть какая информация о переходе в real time, ну там описание регистров или области памяти, чтобы можно было на прямую изменять, для управления распределением временных ресурсов винды? Да и вообще может кто посоветует какую книженцию, где грамотно и доходчиво написано о Win API?
 

dreamer

Member
Спасибо за подсказку. Приложение пишется под DOS-ом, поэтому могу предположить что стандартными методами (программирование под Win) не пройдет. Может есть какая информация о переходе в real time, ну там описание регистров или области памяти, чтобы можно было на прямую изменять, для управления распределением временных ресурсов винды? Да и вообще может кто посоветует какую книженцию, где грамотно и доходчиво написано о Win API?
Так ты же пишешь что не можешь пользоваться программированием под Вынь? Если ты хочешь, чтоб твоя программа работала под ДОС то с виндой ты ничего не сделаешь, разве что перезагружайся в досе :)
 

liko

Member
Так ты же пишешь что не можешь пользоваться программированием под Вынь? Если ты хочешь, чтоб твоя программа работала под ДОС то с виндой ты ничего не сделаешь, разве что перезагружайся в досе :)
Все правильно, но я также писал и о нестандартных методах…
 

Rёnitch

New Member
Винда это не ОС реального времени, потому задача в принципе не может быть решена. Можно конечно запустить процесс с самым высоким уровнем приоритета, но нет никакой гарантии, что винда в какой-нибудь самый ответственный момент выделит достаточно процессорного времени для твоего процесса. Сам с таким сталкивался на примере сварки электронным лучом в электронном микроскопе. Программа была предназначена для того, чтобы продемонстрировать заказчику работоспособность прибора, потому и делалось все под виндой - в приложении запускалась отдельная нить, в которой контролировались параметры и давались необходимые команды. Этой нити можно задать высший приоритет (или всему приложению). После процесса сварки нить убивалась. Если же время критично, то только дос.
 
Зверху