![]() |
|
![]() ![]() ![]() |
|
Hiehachi |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 27.12.2005 Где: Ukraine->Odess a Репутация: нет Всего: нет |
Здравствуйте .
Вкратце... - занимаюсь оптимизацией разработаного класса для отрисовки графики. Стоит задача в оптимизации по скорости графических вычислений, с использованием ассемблера. С совместным использованием 'C' и ассемблера проблем невидел, до тех пор, когда не захотел быстро получить содержимое переменных обьявленных в теле самого класса, а не локальных - в функциях. Проблема состоит в неудобстве использования переменных обьявленных в теле класса. С локальными переменными обьявлеными в функциях-членах класса неудобных проблем нет, все они адресуются при помощи обычных имен переменных: Например:
Проблемы появляются тогда, когда надо получить прямой доступ на ассемблере к переменным обьявленым в теле класса по их имени. Вот пример проблемы:
Существует ли, какие-нибудь, директивы со стороны Borland C++ или его ассемблера для открытия области видимости переменных обьявленных в классе для ассемблерного кода. Очень хотелось бы решить эту проблему. Поможите. (хочется найти что-то, по типу вот так: mov eax,TestClass::lpRawData - в Борланде это не работает, в Визуал C - работает, ищу разгадку проблемы... ) ((Сейчас для доступа к переменным класса из ассемблера я создаю локальную переменную и туда просто копирую необходимую переменную класса, а потом эту локальную переменную использую на ассемблере. Зачем спрашивается создавать эти перевалочные переменные ?)) Раньше, до Borland C++ v6 ассемблер ихний работал по другому, любая обьявленная адресная метка в ассемблерной функции была видна из другой ассемблерной функции и можно было творить маленький беспредел - прыгать из одной функции в середину другой и т.д. Сейчас поведения ассемблера изменились, уже все ассемблерные метки видны только локально в той 'C' функции в которой определены. Это сообщение отредактировал(а) Hiehachi - 23.9.2007, 23:30 |
||||
|
|||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |