Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 05:13 15.06.24 
Клубове/ Компютри и Интернет / Програмисти Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: я като си зачекал темата [re: void*]
Авторzaphod (Нерегистриран) 
Публикувано23.05.05 21:48  



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

а за значи ще ти разкажа малко, както поиска, за да прецениш. фирмата в която работя, се занимава с направата на симулатори, технически представляващи нещо като компютърни игри. всички симулатори се изграждат на базата на обща платформа, като част от нея е системата която се грижи за разните динамични неща в сцената - хора, самолети, танкове, асансьори, врати, бе всичко що мърда. за целта ползваме развойна среда, с която описваме алгоритъма на поведението на въпросните неща. този алгоритъм се изпълнява върху виртуална машина, тоест кода му се интерпретира. тази развойна среда съм я правил аз, и все още я правя. конкретния повод е целта ми да добавя към развойната среда възможност за работа с инстанции на "native" С++ класове, да достъпвам мембърите им и да викам функциите им, да ги създавам и трия. вече го направих, за съжаление доста по-трудно отколкото си представях. как го направих - значи всеки реален С++ клас, който искам да направя видим за виртуалната машина, регистрирам в една структура. регистрирам основните му данни - размер, име, а също и мембърите които искам да виждам. променливите се регистрират със офсета си, а функциите се регистрират със адреса си и броя на аргументите които искат. в момента, това което ми дразни окото е че конструктора и деструктора се регистрират чрез отделен механизъм, понеже не мога да им взема адреса. също така ме дразни че механизма за регистрация на членфункция е грозен, заради това че thiscall не може да се каства към воид. ако това със reinterpret_cast което предлагаш бачка (не съм го пробвал още), то ще поизчисти малко нещата, ще ми съкрати малко регистрацията и кода ще изглежда по-строен. това че не мога да вземам конструктора има и втора лоша страна, която дори е по-важна. това че сега го правя с темплейт може да се преглътне - памет много, обаче сега нямам механизъм с който да мога да си избирам конструктора който искам да се изпълни. тоест изпълнявам винаги само конструктор без параметри.
общо взето това е, иначе си бачка. функциите ги викам на ниско ниво - със онлайн асемблера. мисля че конвенцията за викане на функции е стабилна, защото иначе дллките нямаше да бачкат. поне на функциите с 4байтови параметри, а аз само такива ползвам.



Цялата тема
ТемаАвторПубликувано
* я пробвайте да компилирате това: zaphod   20.05.05 12:04
. * Я пак, че не разбрах нещо Colombino   20.05.05 13:11
. * Re: Я пак, че не разбрах нещо Pekoнcтpykтop   20.05.05 15:42
. * Не точно Colombino   20.05.05 16:01
. * Re: Не точно Dorian_Gray   20.05.05 16:49
. * Именно, де Colombino   20.05.05 17:00
. * "членове с деструктори"-ебааа!!! focusnik   20.05.05 17:27
. * Re: Я пак, че не разбрах нещо void*   20.05.05 17:15
. * Другари! BjarneStroustrup®   21.05.05 10:07
. * Re: Другари! Colombino   21.05.05 12:26
. * Re: Другари! BjarneStroustrup®   21.05.05 12:48
. * Re: Другари! Colombino   21.05.05 13:15
. * Re: Другари! void*   22.05.05 02:05
. * Тва на мен ли го казваш?!? Colombino   22.05.05 14:39
. * Re: Тва на мен ли го казваш?!? void*   22.05.05 20:07
. * Re: Тва на мен ли го казваш?!? BjarneStroustrup®   25.05.05 12:32
. * Не вярвам Colombino   25.05.05 15:45
. * Re: Не вярвам BjarneStroustrup®   25.05.05 16:35
. * Re: Тва на мен ли го казваш?!? void*   25.05.05 16:24
. * Re: Тва на мен ли го казваш?!? BjarneStroustrup®   25.05.05 16:37
. * Re: Другари! xyz   21.05.05 16:46
. * Re: Другари! Colombino   21.05.05 20:12
. * Re: Другари! zaphod   21.05.05 20:40
. * Re: Другари! Colombino   21.05.05 21:00
. * Re: Другари! xyz   21.05.05 21:39
. * Re: Другари! zaphod   21.05.05 23:30
. * Re: Другари! xyz   22.05.05 01:33
. * Re: Другари! zaphod   22.05.05 09:02
. * Re: Другари! xyz   22.05.05 23:20
. * Бъди джигит! Colombino   22.05.05 23:40
. * Re: Бъди джигит! xyz   23.05.05 13:14
. * бе това на къв компилатор zaphod   23.05.05 14:35
. * Re: бе това на къв компилатор Colombino   23.05.05 14:55
. * оправих го zaphod   23.05.05 15:03
. * я като си зачекал темата zaphod   23.05.05 13:37
. * Баси извратения синтаксис! Colombino   23.05.05 16:20
. * Re: Баси извратения синтаксис! zaphod   23.05.05 17:49
. * Re: я като си зачекал темата void*   23.05.05 20:32
. * Re: я като си зачекал темата zaphod   23.05.05 21:48
. * IDispatch ~!@$%amp;^*()_+   23.05.05 22:54
. * Re: IDispatch zaphod   24.05.05 08:33
. * Re: IDispatch ~!@$%amp;^*()_+   24.05.05 10:02
. * Re: я като си зачекал темата void*   24.05.05 03:27
. * Re: я като си зачекал темата zaphod   24.05.05 08:22
. * Re: я като си зачекал темата void*   24.05.05 14:06
. * тоя метод за викане на конструктор zaphod   23.05.05 14:26
. * Не бачка?!? Colombino   23.05.05 14:33
. * Re: Не бачка?!? zaphod   23.05.05 14:53
. * ами очаквах zaphod   20.05.05 16:18
. * Я пак помисли Colombino   20.05.05 16:48
. * Re: ами очаквах void*   20.05.05 17:19
. * Re: ами очаквах Colombino   20.05.05 17:25
. * Re: ами очаквах void*   20.05.05 18:14
. * Re: ами очаквах Colombino   20.05.05 18:23
. * Re: ами очаквах void*   20.05.05 18:29
. * Ми не знам Colombino   20.05.05 18:37
. * Re: Ми не знам focusnik   20.05.05 18:43
. * Re: Ми не знам void*   20.05.05 19:11
. * Не съм съгласен, мистерията остава Colombino   20.05.05 20:01
. * Re: Не съм съгласен, мистерията остава void*   20.05.05 20:28
. * ето и окончателния отговор void*   22.05.05 03:12
. * Re: ето и окончателния отговор явepтъ   24.05.05 02:31
. * Re: Не съм съгласен, мистерията остава zaphod   20.05.05 22:35
. * Re: Не съм съгласен, мистерията остава void*   21.05.05 00:56
. * ц++ има адски много кусури ~!@$%amp;^*()_+   21.05.05 02:04
. * Re: ц++ има адски много кусури void*   21.05.05 12:01
. * Re: Не съм съгласен, мистерията остава zaphod   21.05.05 07:56
. * Re: Не съм съгласен, мистерията остава BjarneStroustrup®   21.05.05 11:14
. * Подкрепям Colombino   21.05.05 12:32
. * Re: Подкрепям BjarneStroustrup®   21.05.05 12:50
. * Re: я пробвайте да компилирате това: Чвopko   20.05.05 13:38
. * Re: я пробвайте да компилирате това: Пeтpocян   20.05.05 13:40
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.