Help!?! (Borland C for MS DOS)

6 отговора 285 прегледа
#1

Help!?! (Borland C for MS DOS)

Kak moga da izpylnq dve funkcii paralelno? V smisal imam opredeleni oblasti ot ekrana koito trqbva da bydat obnovqvani periodi4no (na vsqka minuta). Problema moje li da se reshi izcqlo na c/c++ ili trqbva da se izpolzva ASM?

P.S. compilatora s koito rabotq e Borland C/C++ v.3.11 for MS DOS

Отговор
в отговор на Fox #2

Re: Help!?! (Borland C for MS DOS)

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

Отговор
в отговор на zaphod #3

Re: Help!?! (Borland C for MS DOS)

tova dobre, mo moje li da se napravi na C (i kak) ili trqbva da se napishe na ASM

Отговор
в отговор на Fox #4

Re: Help!?! (Borland C for MS DOS)

хм, на С доколкото знам прекъсване не се прихваща. можеш да направиш само прихващането на асм, а функцията да е на с. а не ти ли върши работа безкраен цикъл? е, ще заемаш процесора на 100%, ама на кого му пука? ако си забелязал турбо паскал и вероятно и с работят така.

Отговор
в отговор на zaphod #5

прихваща се на С и още как!

само че трябва да си пускал някога bc-то, за да знаеш. търси в help-a за getvect и setvect. няма да го paste-вам тука, макар че е кратко. има и начин да се правят копроцедури, което е полезно полякога под дос, със setjmp и longjmp, ама тва е малко встрани от темата. сполай ви!

Отговор
в отговор на interrupt #6

Re: прихваща се на С и още как!

верно че не съм писал много на с под дос. но това са библиотеки, самия език с не прихваща прекъсване като модула 2 да речем. иначе това може и без библиотека да се направи - имената на функциите са указатели. не знам числено как се изразяват в bc, ама все ще има начин да се докопа сегманта и офсета. след това се цопват в таблицата...

Отговор
в отговор на zaphod #7

Re: прихваща се на С и още как!

ами да, естествено, че може и без библиотеки да се направи, обаче просто тогава ще направиш ръчно, това което хората вече са написали за теб под формата на библиотека. указателите към функции са 32-битови числа (далечни указатели). сегментът и офсетът може да се вземат с макросите FP_SEG и FP_OFF.

Отговор