Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как выглядит сишный класс в памяти? 
:(
    Опции темы
tripsin
Дата 14.2.2006, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 10.4.2005
Где: Талица

Репутация: нет
Всего: 3



Мне надо ручками сделать в памяти экземпляр С-шного класса и передать ссылку на него, как параметр библиотечной функции. smile Подскажите, как он выглядит в памяти (примерную структуру данных)
PM MAIL WWW ICQ   Вверх
maxim1000
Дата 15.2.2006, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



можно просто сделать объект на C++ и посмотреть на него в памяти smile
а вообще, если не ошибаюсь, это зависит от компилятора...


--------------------
qqq
PM WWW   Вверх
tripsin
Дата 15.2.2006, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 10.4.2005
Где: Талица

Репутация: нет
Всего: 3



Класс надо сунуть в виндовую API-фунцию, поэтому выглядеть он должен одинаково, независимо от компилятора. Может различаться реализация методов класса, но мне это не важно. Я так понял, что в классе имеются только указатели на функции, реализующие методы, а сами реализации лежат отдельно.
PM MAIL WWW ICQ   Вверх
maxim1000
Дата 15.2.2006, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



а что за функция?


--------------------
qqq
PM WWW   Вверх
oleg1973
Дата 15.2.2006, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



наверно класс выглядит примерно как интерфейс обьекта , повторяю примерно
в fasm есть пример работы с СОМ обьектами и там есть сам обьект
в принципе получается список адресов/методов которые можно вызывать


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
tripsin
Дата 15.2.2006, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 10.4.2005
Где: Талица

Репутация: нет
Всего: 3



Я хотел попользовать GDI+. C получением списка кодеков и их идентификаторов я разобрался. Возникла проблема с преобразованием HBITMAP в объект GDI+ (кажется GdipCreateBitmapFromHBITMAP из gdiplusflat.h). Функция требует объект GBitmap. Когда я на дурака выделил пару метров памяти, обнулил и дал на нее ссылку, прога вылетела с ошибкой куда-то в нулевые адреса. Скорее всего вызывался кнструктор класса, и, т.к. по переданному указателю были одни нули, то вызов туда и пошел. Так вот надо определиться со структурой стандартного класса и поставить адреса своих процедур.
А может я слишком загнался smile Может кто умный уже сделал библиотечку GDI+ для асма, и для нас глупых бесплатно выложил? smile
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.