Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 625
от 25.08.2003, 20:10

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 4001
Отправлено ответов: 11857
Активность: 296.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.31
URL: Программирование
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.07
[Подробней >>]
Portnov
Статус: Профессиональный
Общий рейтинг: 108.94
URL: Мой сайтик...
[Подробней >>]
 
_vt
Статус: Профессиональный
Общий рейтинг: 120.22
[Подробней >>]
Ramzes
Статус: Профессиональный
Общий рейтинг: 116.09
URL: Microsoft homepage
[Подробней >>]
[L2]Max
Статус: Доверительный
Общий рейтинг: 125.98
[Подробней >>]
 
Lynx
Статус: Профессиональный
Общий рейтинг: 117.47
Телефон: (8442) 750522
[Подробней >>]
Fantomas
Статус: Начальный
Общий рейтинг: 119.44
[Подробней >>]
Igoryk
Статус: Профессиональный
Общий рейтинг: 110.93
URL: CodeClimber.Com
[Подробней >>]
 
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 149.17
URL: Super Assembler Software
Телефон: НСС +7 831 3107039
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 125.85
URL: Эхоконференция по вирмейкингу
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
dimka
Статус: Опытный
Общий рейтинг: 138.82
Телефон: (231)-4-43-85
[Подробней >>]
 
masquer
Статус: Профессиональный
Общий рейтинг: 134.64
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 3971. Здраствуйте Вопрос к тем кто читал IA-32. Как правильно перевести в томе 1, на странице 1-6 (глава 1... (ответов: 5)
Вопрос № 3972. Здравствуйте, эксперты. Вопрос у меня немного не потеме, но задать его больше некому (кажется...:)).... (ответов: 4)
Вопрос № 3973. Почему не работает прога? Я хотел сделать прогу в которой пишеш адрес директории и она удаляет в ней... (ответов: 5)
Вопрос № 3974. Здравствуйте. Извините, что отнимаю время. Привожу небольшие уточнения: Допустим, как обычный текст ... (ответов: 3)
Вопрос № 3975. Спасибо вразумили... (ответов: 1)
Вопрос № 3976. Здраствуйте Я скачал описание i486 в rar – архиве, но этот су-суровый файл я немогу открыть ни в одн... (ответов: 5)
Вопрос № 3977. вопрос такой: что такое отладчик, зачем он нужен, как им пользоваться?? вот например, есть у меня пр... (ответов: 3)
Вопрос № 3978. Доброго времени суток, уважаемые эксперты. Есть прекрасная библиотека - MIDAS11.DLL, да вот беда - в... (ответов: 3)
Вопрос № 3979. to Bob Johnson: >Может быть ты слишком мало памяти себе получаешь? 800h = 2048 байт, может тебе мало... (ответов: 2)

Вопросов: 9, ответов: 31


 Вопрос № 3971

Здраствуйте
Вопрос к тем кто читал IA-32. Как правильно перевести в томе 1, на странице 1-6 (глава 1), в пункте 1.5.1, второе предложение: «The numerical value of a set bit is equal to two raised to the power of the bit position.»; еще что такое "little endian" machines ?



Вопрос отправлен: 20.08.2003, 20:43
Отправитель: Aex (2002ai@ua.fm)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Доброе время суток, Aex!
> The numerical value of a set bit is equal to two raised to the power of the bit position.
Я не читал (к сожалению) IA-32, но перевести могу:
"Численное значение установленного бита равно 2, возведенной в степень, равную позиции этого бита".
Ну это действительно так :) А означает это, что если установить 5-й бит, то его значение будет равно 2 в пятой степени, т.е. 32 и т.д.
Кстати, вот как перевел твою фразу translate.ru:
"Числовая ценность бита набора равна два, повысил в силе положения бита." Так что все бежим и покупаем promt... Хотя такую конструкцию как "I am fucking with you only because of your beautiful eyes..." он перевел вполне достойно: "Я трахаюсь с Вами только из-за ваших красивых глаз..." (excuse me, of course, but I had to do it...)
Система с адресом "http://www.norge.ru/education/intertran.html" вообще чума: "Грамматический определенный член числовой ценность яние) от высшая отметка за классную работу ставить кусочек быть равный к два поставленный на дрожжах к грамматический определенный член способность яние) от грамматический определенный член кусочек положение."
Кстати, с русского на английский неплохо переводит : http://babelfish.altavista.com/babelfish/


В приложении то, что нашел yandex по запросу "little endian" (вот уж действительно полезная вещь для нахождения ответов :) Адрес : http://private.peterlink.ru/kx/_software_help/set/code/big2little.html. Нет, приложения не будет - не вмещается, так что сходи по ссылке...

* EMan1.5: ---===*** The game we play ***===---

Приложение:


Ответ отправлен: 21.08.2003, 02:45
Отправитель: Bob Johnson


Отвечает vitya

Приветствую Вас, Aex!
Это означает, что вес бита в i-ой позиции равен 2 возведеной в степень i.
Это машины у которых младший байт имеет меньший адрес в памяти. Например Intel 0x86

Ответ отправлен: 21.08.2003, 08:09
Отправитель: vitya


Отвечает Portnov

Добрый день, Aex!
1) Перевожу: "Числовое значение установленного [в единицу] бита равно двойке в степени, равной позиции бита."
2) "little endian" - принцип хранения многобайтовых чисел, при котором наименее значащий байт будет последним. Противоположен Big endian, при котором наименее значащий бит будет первым. В процессорах x86 исп. Big endian. Пример:
dw 0ABCDh в little endian будет представлено как db 0ABh,0CDh, а в big endian - db 0CDh,0ABh.

Ответ отправлен: 21.08.2003, 18:13
Отправитель: Portnov


Отвечает _vt

Приветствую Вас, Aex!
1) Как я понимаю :
"Числовое значение группы бит(ов) эквивалентно двойке, возведенной в степень, равную позиции бита"
2) Это процессоры делятся по способу представления числа на big- и little-endian: у одних старший байт в слове находится перед младшим, у других после...

---===*** Updated E-Man 1.5 - it's cool!***===---


Ответ отправлен: 21.08.2003, 06:00
Отправитель: _vt


Отвечает Ramzes

Здравствуйте, Aex!
Это переводится как "Числовое значение установленного бита равно 2 в степени позиции бита", т.е.
100 = 2^2 = 4
Что касается little endian, в Intel-овской архитектуре байты в памяти представляются в перевернутом виде. Это называется Big Endian. Соответственно Little Endian - наоборот, в нормальном порядке.

Ответ отправлен: 21.08.2003, 12:01
Отправитель: Ramzes


 Вопрос № 3972

Здравствуйте, эксперты.
Вопрос у меня немного не потеме, но задать его больше некому (кажется...:)).
Помогите разобраться с отправкой письма (этим должна заниматься моя програмка, но не может)
1) С каким хостом мне надо коннектится: smtp.gorodok.net(SMTP сервер, прописан в TheBat!) или mail.gorodok.net(Web сервер, управление через web-интерфейс)?
2) Что нужно писать после HELO?
3) Пробовал несколько вариантов но сервер отвечает:
250 hermes.nsu.ru your name is not ...(сдесь то, что стояло после HELO)
или вообще ничего не отвечает.
PS: может посоветуете другой mail-сервер?



Вопрос отправлен: 20.08.2003, 21:57
Отправитель: UsAr

[Следующий вопрос >>] [Список вопросов]

Отвечает [L2]Max

Доброе время суток, UsAr!
Ты сначала аутентификацию пройди

Ответ отправлен: 21.08.2003, 18:00
Отправитель: [L2]Max


Отвечает Bob Johnson

Доброе время суток, UsAr!
1. С каким хочешь. Если предполагаешь работать с протоколом SMTP, то с smtp сервером (порт 25), если с протоколом HTTP - то с http (порт 80). Я бы работал с smtp, т.к. протокол прост до предела (simple он и есть simple все-таки (smtp = simple mail transfer protocol)).
2. После helo пишется то, как ты хотел бы представиться серверу - bat вставляет здесь имя компьютера. В принципе, здесь может стоять все, что угодно, например,
helo lamer.
3. Ну раз он тебе отвечает 250, значит все в порядке. То, что написано после цифры является просто комментарием, а цифра - ответом сервера. 250 означает ок.
Если же он ничего не отвечает - это у тебя плохое соединение. Почтовый сервер до предела терпелив и примет от тебя любые команды или данные. Он не станет разрывать соединение в случае, если ты попытаешься его использовать для доставки почты вне его домена, просто напишет
"We do not relay" или что-то такое, что означает, что данный сервер не осуществляет пересылку сообщений. После этого можно ввести команду отослать письмо другому пользователю.
Следует заметить, что для отправки письма на какой-либо адрес определенного домена всегда можно воспользоваться smtp сервером этого домена - письма "к себе" он принимает у любого, даже не авторизованного пользователя.
Пример работы (здесь только исходящие команды):

telnet smtp.gorodok.net 25
helo i_am_the_best
mail from:
rcpt to:<123@gorodok.net>
- здесь следует отметить, что адрес получателя находится на том же домене, что и сервер.
data
I am using your SMTP!
.
- одна одинокая точка на пустой строке означает окончание передачи текста письма.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 21.08.2003, 01:46
Отправитель: Bob Johnson


Отвечает Lynx

Приветствую Вас, UsAr!
1. ИМХО с SMTP.
2. Имя хоста или его IP-адрес.
3. Попробуй использовать другой сервер, например: smtp.bk.ru.


Ответ отправлен: 21.08.2003, 09:45
Отправитель: Lynx


Отвечает Fantomas

Здравствуйте, UsAr!
Пиши на f-a-n-t-o-m-a-s@ukr.net, я объясню тебе все комманды и прелести работы с почтовыми серверами !
Когда-то я только этим и занимался !!!


Ответ отправлен: 22.08.2003, 11:18
Отправитель: Fantomas


 Вопрос № 3973

Почему не работает прога?
Я хотел сделать прогу в которой пишеш адрес директории и она удаляет в ней все файлы.


Приложение:


Вопрос отправлен: 20.08.2003, 23:32
Отправитель: Radmir

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Здравствуйте, Radmir!
Смотрим по порядку:
сначала ты вызываешь функцию 0ah - буферизованный ввод, причем в подкинутом ей адресе первый байт должен указывать на максимальную длину строки, на выходе получаешь строку в Pascal-форме: первый байт(не считая максимальной длины) указывает на реальную(полученную)длину строки... Ладно, пока нормально, но думаю в итоге ошибка будет в этом...
Функция 3bh - chdir - ну да, вот и предсказанная ошибка: эта функция "кушает" строки в С-форме - с завершающим нулем, а ты ей хочешь "скормить" Pascal-строку.
Дальше вызываешь функцию 4eh - Find First - находит в текущей директории первый файл по заданной спецификации и атрибутам и возвращает собранную информацию в DTA... Ну в общем сойдет, хотя изначально ты хотел удалить все файлы, а удаляешь только с обычными атрибутами... Ну удалил ты этот файл (функция 41h), нашел следующий (4Fh), удаляешь его и ищешь еще... Вот здесь она и повиснет: ты не сказал, когда остановиться...Надо проверять на ошибку после вызова FindNext...
Итого> 2 ошибки, код даже не пришлось прогонять, всё устно, с помощью Ральфа Брауна...

---===*** Updated E-Man 1.5 - it's cool!***===---


Ответ отправлен: 21.08.2003, 06:01
Отправитель: _vt


Отвечает Bob Johnson

Доброе время суток, Radmir!
Потому что удалять можно только по одному файлу, а не все сразу ("*.*"). Т.е. тебе надо делать поиск всех файлов текущего каталога, а потом по одному их удалять.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 21.08.2003, 03:38
Отправитель: Bob Johnson


Отвечает Igoryk

Доброе время суток, Radmir!
Имя удаляемого каталога должно заканчиваться кодом 0. А не 0Dh (перевод каретки). Поэтому после того, как Вы считали имя удаляемой директории, нужно поменять 0Dh на 0:
mov bl, byte ptr Bufer+1 ;Получаем длину введенной строки
mov byte ptr [Bufer+1+bx],0


Ответ отправлен: 21.08.2003, 19:36
Отправитель: Igoryk


Отвечает Евгений Иванов

Приветствую Вас, Radmir!
Во первых, она зациклена
и никогда не выйдет!
Остальное не проверял...


Ответ отправлен: 21.08.2003, 22:28
Отправитель: Евгений Иванов


Отвечает Maverick

Добрый день, Radmir!
Умница, а в чем проблема то? Не работает? Или мы должны еще и о вопросе догадываться?
call delete
Погляди в это место внимательнее... У тебя тут походу переполнение стека вылетает :))) Вызываешь процедуру, отрабатываешь ее, и по новой на вызов...???


Ответ отправлен: 25.08.2003, 04:57
Отправитель: Maverick


 Вопрос № 3974

Здравствуйте.
Извините, что отнимаю время.
Привожу небольшие уточнения:
Допустим, как обычный текст это будет выглядеть как "D!", коды символов - 44h и 21h. 4421h = 17441 - это и есть искомое число. Я просто не знаю, как это сказать на машинном языке. Мне кажется, что это связано с типом char, который можно перевести в hex, а затем в int.
Заранее благодарен за ответ.
----- Old Message -----
Кто нибудь!
Подскажите ламеру.
Я извлёк 2 нужных байта из файла в bDest, как мне перевести её в нормальный вид чисел?
Функция ReadFile под Windows.
call ReadFile, [hFile], wBuffer, 42h, bRead, NULL
mov eax, 3eh
mov ecx, 2
CLD
lea esi, [wBuffer]
add esi, eax
lea edi, [bDest]
rep movsb



Вопрос отправлен: 21.08.2003, 00:49
Отправитель: Алексей

[Следующий вопрос >>] [Список вопросов]

Отвечает [L2]Max

Доброе время суток, Алексей!
Что ты подразумеваешь под нормальным видом ??? BCD ???

Ответ отправлен: 21.08.2003, 18:03
Отправитель: [L2]Max


Отвечает Bob Johnson

Здравствуйте, Алексей!
А тебе ничего переводить и не надо, просто помести эти два байта в переменную нужного типа:

my_var dd ?
...
mov [my_var], 0
Call ReadFile, [hFile], offset my_var, 2, offset bRead, 0

При этом, не смотря на то, что переменная my_var имеет тип dword, т.е. размер 4 байта, а считываем мы только 2, все получается нормально, т.к. вначале в эту переменную заносятся нули, т.е. старшие 2 байта будут равны нулям.
Еще, возможно придется поменять байты местами для достижения желаемого результата. Можно сделать так:

mov al, byte ptr [my_var]
xchg al, byte ptr [my_var + 1]

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 21.08.2003, 01:22
Отправитель: Bob Johnson


Отвечает Fantomas

Добрый день, Алексей!
Ну, начнем с того, что в памяти все числа записаны как бы в обратном порядке !
Если у тебя "D!", то в памяти это не 4421h = 17441d, а 2144h = 8516d.

Ответ отправлен: 22.08.2003, 11:18
Отправитель: Fantomas


 Вопрос № 3975

Спасибо вразумили



Вопрос отправлен: 21.08.2003, 01:04
Отправитель: CUM (aarsenin@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает [L2]Max

Добрый день, CUM!
Не за что

Ответ отправлен: 21.08.2003, 18:13
Отправитель: [L2]Max


 Вопрос № 3976

Здраствуйте
Я скачал описание i486 в rar – архиве, но этот су-суровый файл я немогу открыть ни в одном архиваторе, они говорят:
...
7 486.rar: Неизвестный метод в AP_F.TXT
8 486.rar: Неизвестный метод в AP_G.TXT
9 486.rar: Неизвестный метод в CH01.TXT
10 486.rar: Неизвестный метод в CH02.TXT
11 486.rar: Неизвестный метод в CH03.TXT
12 486.rar: Неизвестный метод в CH04.TXT
...
НО!!! «ICE Book Reader Professional Russian» прочитал все файлы из архива и нормально отобразил.
КАК? Распаковать этот архив или заставить ридер копировать текст в буфер обмена.
ИЛИ! Если у кого есть описание i486 вышлите!!!
МЫСЛЬ Наверное вначале текстовых файлов есть управляющие символы которые не дают нормально правильно распаковать архив.



Вопрос отправлен: 21.08.2003, 01:31
Отправитель: Aex (2002ai@ua.fm)

[Следующий вопрос >>] [Список вопросов]

Отвечает [L2]Max

Доброе время суток, Aex!
Скачай с другого сервера

Ответ отправлен: 21.08.2003, 18:04
Отправитель: [L2]Max


Отвечает _vt

Здравствуйте, Aex!
Мысль: наверное, у тебя WinRAR более старой версии ... Скачай как минимум 2.9, а лучше 3.хх(не знаю какая последняя, но это не важно: с версии 2.9 сильно поменялся формат)...

---===*** Updated E-Man 1.5 - it's cool!***===---


Ответ отправлен: 21.08.2003, 06:01
Отправитель: _vt


Отвечает Igoryk

Добрый день, Aex!
Может быть архив запакован RAR 3.0, а у вас он более ранней версии.

Ответ отправлен: 21.08.2003, 19:36
Отправитель: Igoryk


Отвечает Bob Johnson

Доброе время суток, Aex!
В принципе, возможно просто, что архив запакован архиватором rar версии 2.9 или выше, тогда он не будет распаковываться на версиях меньше 2.9. Попробуй скачать последнюю с rarsoft.com.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 21.08.2003, 03:38
Отправитель: Bob Johnson


Отвечает Fantomas

Приветствую Вас, Aex!
Сделай Upgrade WinRar'у !!!!!!!
Зайди в архив, нажми Info, посмотри, какая версия WinRar нужна для извлечения этого архива, и посмотри какая стоит
у тебя ! У меня такая же проблема была !

Ответ отправлен: 22.08.2003, 11:17
Отправитель: Fantomas


 Вопрос № 3977

вопрос такой: что такое отладчик, зачем он нужен, как им пользоваться?? вот например, есть у меня приложение, выводит на экран строку. я его откомпилировал, есть *.сом
файл. я открываю его в CV. и вижу много чего...вижу окно с именем sourse1 cs:ip что в нём??? зачем?? как это работает??
есть окно с именем memory1 b ds:0 , что в нём? почему там 2 строки? что в этих строках?? как это работает?
зачем нужно окно commands?
зачем нужно окно register?
приведите пожалуйста пример действий отладчика на моём приложении, как его изменить, что с ним можно сделать отладчиком. БЛАГОДАРЮ ВАС.


Приложение:


Вопрос отправлен: 21.08.2003, 02:25
Отправитель: Женя (25-49-32@e-mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Приветствую Вас, Женя!
Отладчик предназначен для поиска ошибок в программе.
В отладчике сделать можно многое: окно memory отображает дамп памяти, здесь можно просмотреть какой-то участок памяти, который использует твоя программа, окно register отображает значения в регистрах процессора. Окно commands предназначено для ввода команд: самые нужные это (не помню как в CV они называются, но принцип везде один) trace и step(также для многих команд есть горячие клавиши). Ты с помощью команды step можешь выполнить свою программу по шагам, посмотреть, как изменяются регистры, память, и правильно ли всё. Можешь даже "зайти" внутрь прерывания командой trace и посмотреть, что при этом происходит... Короче, много интересного,. смотри...

---===*** Updated E-Man 1.5 - it's cool!***===---


Ответ отправлен: 21.08.2003, 06:01
Отправитель: _vt


Отвечает dimka

Здравствуйте, Женя!
Подумай!!!!


Ответ отправлен: 25.08.2003, 10:58
Отправитель: dimka


Отвечает [L2]Max

Здравствуйте, Женя!
Отладчик - есЪм инструмент позволяющий шаблюдать за работой программы пошагово.
В окне MEMORY ты можешь наблюдать дамп памяти, его изменения. В окне register показаны регистры процессора, что сними происходит при отладке.
Скачай доку по конкретному отладчику и изучай

Ответ отправлен: 21.08.2003, 18:09
Отправитель: [L2]Max


 Вопрос № 3978

Доброго времени суток, уважаемые эксперты.
Есть прекрасная библиотека - MIDAS11.DLL, да вот беда - весит слишком много. Программе весом 4 кБ приходится за собой таскать "хвост" в 160 кБ. А мне из неё нужно всего-то десяток функций. Можно ли их оттуда как-нибудь "выдрать" и прилинковать к моей программе?
С уважением, DeMax.



Вопрос отправлен: 21.08.2003, 18:07
Отправитель: DeMax (maximov_denis@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает [L2]Max

Приветствую Вас, DeMax!
Вряд ли, разве что можешь всю библиотеку в ресурс приложения запхнуть, или декомпилировать DLL. а потом собрать свою

Ответ отправлен: 21.08.2003, 18:16
Отправитель: [L2]Max


Отвечает Bob Johnson

Добрый день, DeMax!
Можно ее попробовать дизассемблировать, после чего заново откомпилировать, но это достаточно трудоемкий процесс, т.к. вряд ли ты найдешь дизассемблер, который предоставит подходящие качество кода. У меня на странице лежит PEDisasm.rar, который, в принципе, может дизассемблировать PE файлы. Там даже написано, что иногда можно получить сразу компилируемый вариант исходника.
Еще, попробуй сжать библиотеку UPX'ом. Это, конечно, не превратит ее в 10 кб, но думаю, что килобайт 80 можно получить.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 21.08.2003, 22:12
Отправитель: Bob Johnson


Отвечает Евгений Иванов

Добрый день, DeMax!
Ищи начало подпрограммы и выдирай!
Используй TDUMP.


Ответ отправлен: 21.08.2003, 22:27
Отправитель: Евгений Иванов


 Вопрос № 3979

to Bob Johnson:
>Может быть ты слишком мало памяти себе получаешь? 800h = 2048 байт, может тебе мало? Попробуй написать 1000h.
Не понял, это как "мало"? Вылетает она именно на этой функции, а функция что, думать научилась? :) Сколько надо, столько и должна выделить. Кстати, ни 1 байт, ни 1000h, ни 2000h не выделяет.
to masquer:
>Непонятно, где именно происходит ошибка - в отладчике смотри.
При таких ошибках я сразу лезу в отладчик :) поэтому и говорю, что вылетает на строке "call GlobalAlloc", в строке статуса OllyDbg вылазит: "Process terminated, exit code -1" и всё. С HeapAlloc то же самое, причём GetProcessHeap возвращает нормальный хэндл кучи.


Приложение:


Вопрос отправлен: 21.08.2003, 19:25
Отправитель: Кодер (therock@ezmail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Здравствуйте, Кодер!
> а функция что, думать научилась? :)
Не обратил внимания, что вылетает после. :) Ведь чаще всего именно так...
Если возникает ошибка внутри функции, значит:
1. Нарушена нормальная работа ОС в пределах твоего процесса. Это может означать, что где-то до вызова функции ты получаешь еще кусок памяти, но при записи в него превышаешь его предел. Т.е. ты можешь затереть какую-либо системную информацию. Также проверь, что ты не меняешь всяких там регистров fs.
2. Возможно, что при линковке ты не указал - V4.0, из-за чего могут возникать непредсказуемые проблемы.
Если твоя программа сложная, то попробуй начать отключать какие-либо функции, которые вызываются до выделения памяти и найди ту, которая вызывает такое поведение. Потому что так не должно быть. Единственное, с чем я столкнулся - это неправильно работала GlobalRealloc или встроенная в С++ функция (точно сейчас не помню) изменения размера блока - она возвращала 0, хотя просто malloc работало.
Если проблему не решишь, высылай исходник.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 21.08.2003, 21:07
Отправитель: Bob Johnson


Отвечает masquer

Приветствую Вас, Кодер!
Странно... Мне кажется, что проблема в чем-то другом, с размером выделения это точно не связано. Может с SEH что-то не то... Смотреть сам экзешник нужно (если можно, то и с исходниками) - выложи, если не тяжело. Иначе мы просто гадать на кофейной гуще будем.

Ответ отправлен: 22.08.2003, 10:56
Отправитель: masquer



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (37)
C / C++ (30)
Perl (5)
Builder / Delphi (20)
Pascal (25)
Basic / VBA (11)
Java / JavaScript (9)
PHP (8)
Криптография (10)
WinAPI (16)
Пользователю
Windows 95/98/Me (48)
Windows NT/2000/XP (60)
"Железо" (43)
Поиск информации (25)
Администратору
Windows NT/2000/XP (32)
Linux / Unix (12)
Юристу
Гражданское право (10)
Семейное право (6)
Трудовое право (7)
КоАП (6)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное