![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
ажет ли мне кто нибудь почему программа не работает как надо,
а то я запарился уже компелировать. Программа для замены в текстовом файле На bcc32 компелирую: прога работает, но ... 1. если я увеличиваю слово "на которое меняю" то программа нач инает работать через раз(точнее просто зависает), причем чем дли нее слово "на которое меняю" тем меньше шансов что все про йдет как надо, но даже при вылете можно обнаружить что задача выполнена. 2. Смотри пункт 1 На tсс компелирую: прога не работает, но ... 1. Тот-раз работала. не помню че сделал что перестала. 2. Она все-же коипилируется без ошибок но звисает сразу 3. Убрав из кода все(именнно все) free( ); прога выполнялась но в конце было сообщение что-то там Null Pointer Assignment, но опять-же больше не повторяется Я подозреваю malloc realloc особенно второй но не в курсе что там за нюансы, да и по мелочи какие-то косячки
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
ну так берем отладчик и вдумчиво проходим по коду. операцию (в случае необходимости) повторить...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Если честно не умею пользоваться отладчиком,ведь я недавно программирую
и чисто для себя... Вообще просто пошагово прохжу , с остановками, по коду (миниотладка). Null Pointer Assignment меня уже не первый раз одо левает. Пустой указатель. Причем загадочные причины. -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
Kuvaldis |
|
||||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
apook,
ИМХО, нужно так:
ты ж выделяешь память только под 2 байта и потом работаешь с памятью под long, которая не была выделена... -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
||||
|
|||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
не помню как это выгдядело в турбо сях, но помню точно что watch'и там были -- вот туда позагоняй интересующие переменные и посмотри на каком шаге теряеш указатель...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
поменял
x=( long * ) malloc ( 2 ); на x=( long * ) malloc ( 2 * sizeof(long) ); комиле ин БСС32 и не мог нарадоваться как все работает, пока не компилировал в tcc там все как раньше. Так значит надо и str=( char * ) malloc ( 100 * sizeof(char) ) поменять что-ли. В примерах пишут str=( char * ) malloc ( 20 ) из того-же нелпа? С дебаггингом напряг, я вообще не смог его запустить. Запускаю всякие watch -и а там что-то вроде process not in assemble это в Buildere где там кнопка на которой написано Debug блин. -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
apook,
тискаем кнопку F8... и будет тебе счастье... (пошаговая трассировка) а вообще на наличие ошибок и проверку логики лучше всего отвечает компиляция в Visual Studio ![]() -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
сейчас подставил и sizeof(char) заработало и в Turbo
благодарю Kuvaldis -а Пошагово громко сказано просто getch(); а перед этим printf( переменная ) -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |