imho.ws |
![]() |
![]() |
![]() |
# 1 |
Newbie
Регистрация: 19.11.2004
Сообщения: 45
![]() |
С++ программа работает не у всех
Вообшем программа на некоторых компах работает, на некоторых нет, не знаю что за фигня...НА ХР работает, на 2000 нет..
Вообшем не знаю почему, может это както зависит от версии винды или еще от чегото, подскажите как возможно устранить это. Код приаттачил |
![]() |
![]() |
# 2 |
IMHO Ворчун-2006
Регистрация: 24.03.2003
Адрес: Москва
Пол: Male
Сообщения: 4 651
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Может для начала не код надо приаттачивать, а написать с какими сообщениями не запускается? На что жалуется, какие ошибки выдает.
Скорее всего она обращается к библиотекам/компонентам, которых в 2000 нет или они не той версии. Например у меня есть программа, которая требует MS Data Access Component версии 2,7 и выше. Поэтому на Win2000 без 4 сервиспака не работает |
![]() |
![]() |
# 3 |
Newbie
Регистрация: 19.11.2004
Сообщения: 45
![]() |
ну программа на 2000 компилируеца там все ОК, но после уже запуска программы выдается ошибка, Programm has generated errors, вообшем видосовая, без всяких подсказок к решению проблеммы...
вообшем я пробовал ствить getch() после каждой строки и в итоге выяснил что ошибка выдается на строке atoi(pos), при том что на ХР и в этой строке и во всех последующих все ок.... |
![]() |
![]() |
# 4 |
Junior Member
Регистрация: 23.12.2003
Адрес: Киев
Сообщения: 118
![]() ![]() ![]() ![]() |
посмотрел
ну dll нужны следующие: kernel32, msvcrt вроде как есть везде. Запустил под 2000 из под VMWare - таки есть проблема. Судя по SoftIce ошибка в коде startup, при вызове ___mingw_CRTStartup. Чего оно происходит сказать сходу не могу. Хотя если я правильно понимаю это связано с проверкой стека. Возможно надо увеличить объем стека в директивах компилятора, или выделать память динамически а не обявлять сразу как rid[400], хотя странно это вроде не так уж и много. |
![]() |
![]() |
# 5 | |
Junior Member
Регистрация: 04.08.2004
Адрес: 55°45'50"N - 37°51'52"E
Сообщения: 96
![]() ![]() ![]() ![]() |
Цитата:
Попробуй проверить pos на NULL перед atoi.
__________________
Поддержи любимый форум! |
|
![]() |
![]() |
# 6 | |
Junior Member
Регистрация: 08.11.2006
Адрес: Quantizer
Сообщения: 67
![]() |
Цитата:
__________________
Matrix has you... |
|
![]() |
![]() |
# 7 | |
Junior Member
Регистрация: 23.12.2003
Адрес: Киев
Сообщения: 118
![]() ![]() ![]() ![]() |
Цитата:
|
|
![]() |
![]() |
# 8 | ||||
Junior Member
Регистрация: 16.07.2005
Адрес: Украина, г. Ровно
Пол: Male
Сообщения: 140
![]() |
Цитата:
2 alexksei Вы конечно можете писать как хотите но не советую выделять массивчики не так как Вы делаете. Я понимаю что робота с памятю геморна но всьо же мой компилятор очень "матерился" на создание стековых массивов с не константными значениями размеров Цитата:
Цитата:
Цитата:
Вообщем советую посмотреть на стиль кодинга у хорошего знакомого программиста или поищите в Гугле статьи на эту тему. И напоследок не пишыте так "свободно" на С++, это не скриптовый язык всьо же ![]()
__________________
Та программа не глючит, которая не написана |
||||
![]() |
![]() |
# 9 |
Newbie
Регистрация: 19.11.2004
Сообщения: 45
![]() |
yan_kos, пасиба за советы, действительно моя проблемма - безалаберность
![]() И всем пасиба за советы, буду пробовать, правда щас не имею доступа к Win 2000, так что проверить не могу... если у кого то есть еще какието догадки, пишите, буду благодарен ![]() |
![]() |
![]() |
# 10 | |||
Junior Member
Регистрация: 16.07.2005
Адрес: Украина, г. Ровно
Пол: Male
Сообщения: 140
![]() |
Цитата:
<тип даных>* <переменная>=new <тип даных> <размер>; Цитата:
то бишь ее нужно потом будет по чистить: Цитата:
__________________
Та программа не глючит, которая не написана |
|||
![]() |
![]() |
# 12 | |
Newbie
Регистрация: 19.11.2004
Сообщения: 45
![]() |
Цитата:
|
|
![]() |
![]() |
# 13 | |
Junior Member
Регистрация: 19.04.2002
Адрес: Дом
Пол: Male
Сообщения: 187
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
А вообще - поиск максимума/минимума делается за один проход. --- Вот архив с маленьким примером. Совсем без массива конечно нельзя, т.к. учитываются доп критерии. Но проход все же 1. Насчет того правильно ли это работает - не проверял не на чем, да и некогда. Пример (VS2005) сделан дабы показать идею и C++. P.S. Перезалил - забыл 2 строки.
__________________
Дураки не динозавры - они не вымрут... Последний раз редактировалось PSyton; 21.12.2006 в 06:36. |
|
![]() |
![]() |
# 14 | |
Newbie
Регистрация: 19.11.2004
Сообщения: 45
![]() |
Цитата:
![]() |
|
![]() |