Сейчас на форуме: tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› Проблема с компилятором Си
Посл.ответ Сообщение

Ранг: 18.3 (новичок)
Активность: 0.010
Статус: Участник

Создано: 16 сентября 2007 20:30
· Личное сообщение · #1

При компиляции в DDK кода содержащего pop ebp выдает ошибку:
error C2220: warning treated as error - no 'object' file generated
error C4731: 'SpyProc' : frame pointer register 'ebp' modified by inline assembly code
Как обойти ограничение? Инлайн патчинг не предлагать. Приходится каждый раз пересчитывать смещения.



Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 16 сентября 2007 21:08
· Личное сообщение · #2

Wild_One пишет:
Как обойти ограничение?

пропатчить компилятор?

-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 18.3 (новичок)
Активность: 0.010
Статус: Участник

Создано: 16 сентября 2007 21:38
· Личное сообщение · #3

Ну это слишком кардинальное решение




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 16 сентября 2007 22:04
· Личное сообщение · #4

1)__declspec(naked) - Но тогда стековым фреймом надо будет заниматься вручную

2)_asm _emit 0x5D



Ранг: 6.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 сентября 2007 22:19
· Личное сообщение · #5

#pragma warning(disable:4731)

?



Ранг: 51.7 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 16 сентября 2007 22:31
· Личное сообщение · #6

Wild_One Гм.. странная бодяга... Попробуй альтернативные интерпретации...



Ранг: 18.3 (новичок)
Активность: 0.010
Статус: Участник

Создано: 16 сентября 2007 23:07
· Личное сообщение · #7

_emit 0x5D прокатило


 eXeL@B —› Программирование —› Проблема с компилятором Си
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати