Как вычислить, напр, размер сегмента кода программы на С++?
На asmе вот вводим например метки в начале и конце сегмента и находим разность их смещений... Изв-те если вопрос ламерско поставлен но в Си я новичок(((
18.10.04 04:15: Перенесено модератором из 'C/C++' — Павел Кузнецов
Здравствуйте, AgBoKaT, Вы писали:
ABK>Как вычислить, напр, размер сегмента кода программы на С++? ABK>На asmе вот вводим например метки в начале и конце сегмента и находим разность их смещений... Изв-те если вопрос ламерско поставлен но в Си я новичок(((
Можно попытаться через поля в заголовке исполняемого файла. Можно попытаться через асм. А зачем это?
Можно попытаться через поля в заголовке исполняемого файла. Можно попытаться через асм. А зачем это?
Это для защищенного режима надо для инициализации таблицы GDT, хотя оказалось размер можно вычислить используя asm-ий файл(и вообще наверно можно указать размер заведомо больший нужного), получаемый при компиляции сишной программы с ключом -S. Но вот мне интересно: а можно ли средствами с++ получить адрес, напр, сегмента кода, т.е. без использования этого:
unsigned CSEG;
__asm{
mov CSEG,cs
}
???
Здравствуйте, AgBoKaT, Вы писали:
ABK>Здравствуйте, glyph, Вы писали:
ABK>Можно попытаться через поля в заголовке исполняемого файла. Можно попытаться через асм. А зачем это?
ABK>Это для защищенного режима надо для инициализации таблицы GDT, хотя оказалось размер можно вычислить используя asm-ий файл(и вообще наверно можно указать размер заведомо больший нужного), получаемый при компиляции сишной программы с ключом -S. Но вот мне интересно: а можно ли средствами с++ получить адрес, напр, сегмента кода, т.е. без использования этого: ABK>unsigned CSEG; ABK>__asm{ ABK> mov CSEG,cs ABK>} ABK>???
Здравствуйте, AgBoKaT, Вы писали:
ABK>Как вычислить, напр, размер сегмента кода программы на С++? ABK>На asmе вот вводим например метки в начале и конце сегмента и находим разность их смещений... Изв-те если вопрос ламерско поставлен но в Си я новичок(((
А что ты будешь делать на платформе, где нет сегментов ?
Здравствуйте, Eugene Kilachkoff, Вы писали:
EK>А что ты будешь делать на платформе, где нет сегментов ?
Сорри! я с такими платформами не сталкивался и не ставил целью сделать чтото кроссплатформенное. Так получилось что начал изучать языки с асмы, и задался целью даже если не сравнить то по крайней мере интересно: все ли возможности Асма можно реализовать средствами Сипа??? может и глупо конечно... они могут друг друга дополнять.. но все же?
Здравствуйте, prVovik, Вы писали:
V>А чем тебе не нравится __asm?
asm нравится! Но неужели такой "Великий и Могучий" (не русский) Сип не может этого, будто является не самостоятельным языком, лишь оболочкой для "низенького" асма))
а используя far указатель на какую-нить переменную по идее должен содержать как раз сегмент (не селектор — режим real) и смещение так? тогда че за нафиг где сегмент елы-палы???