Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2009, 11:28   #11
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Приведите весь код пожалуйста.
MaTBeu вне форума Ответить с цитированием
Старый 06.07.2009, 14:56   #12
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

Так и думал что дело было в extern char a[1000];

сделав так, я решил проблему:
Код:
extern char *a;

Последний раз редактировалось Артэс; 06.07.2009 в 14:59.
Артэс вне форума Ответить с цитированием
Старый 07.07.2009, 18:42   #13
volok-aleksej
 
Регистрация: 19.05.2009
Сообщений: 4
По умолчанию

Для будущего есть одна тонкость. у тебя может упасть и в другом месте, причем совсем не понятно почему. Причем в debug версии все нормально будет работать, а релиз падать. в твоем коде это я не обнаружил.
Цитата:
memset(a,0,sizeof(a)); // отщищаю для последующего приема данных
recv(connection,a,1000,0); // пытаюсь поместить данные и тут-то краш
правильней будет делать так.

memset(a,0,sizeof(сhar)*1000);
recv(connection,a,999,0);

причина проста до боли ты уже как то писал,
Цитата:
на экране отображается буква "х" и смайлик, а позже равно... что за прикол? буд-то массив не пустой создался
Так вот в debug версии на самом деле создаеться массив и автоматом обнуляеться. но вот в релиз версии это не происходит. а следовательно массив создаеться в какой- то областе где уже раньше было что записано, т.е массив непустой, а как известно решение об окончании строки выводиться на основании последнего символа 0(это int). так вот ноль этот может быть и за пределами выделенного тобой массива памяти и функция которая не принимает размер массива будет его искать и выйдет за его приделы - что произойдет? - Программа упадет, "непонятно почему"
volok-aleksej вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имя переменной как переменная. Как получить доступ к такой переменной? Denni Microsoft Office Access 8 02.04.2009 10:06
Очистка MEMO SG13 Общие вопросы Delphi 5 23.07.2008 21:56
Очистка TImage TaTT DoGG Компоненты Delphi 2 14.05.2008 20:57
Очистка памяти в C# darkstarx Общие вопросы .NET 1 14.04.2008 14:48
Работа с файлами (создание, удаление, открытие, связываение с переменной, очищение памяти переменной) Arkuz Общие вопросы Delphi 12 25.09.2007 20:47