![]() |
С++ программа работает не у всех
Вложений: 1
Вообшем программа на некоторых компах работает, на некоторых нет, не знаю что за фигня...НА ХР работает, на 2000 нет..
Вообшем не знаю почему, может это както зависит от версии винды или еще от чегото, подскажите как возможно устранить это. Код приаттачил |
Может для начала не код надо приаттачивать, а написать с какими сообщениями не запускается? На что жалуется, какие ошибки выдает.
Скорее всего она обращается к библиотекам/компонентам, которых в 2000 нет или они не той версии. Например у меня есть программа, которая требует MS Data Access Component версии 2,7 и выше. Поэтому на Win2000 без 4 сервиспака не работает |
ну программа на 2000 компилируеца там все ОК, но после уже запуска программы выдается ошибка, Programm has generated errors, вообшем видосовая, без всяких подсказок к решению проблеммы...
вообшем я пробовал ствить getch() после каждой строки и в итоге выяснил что ошибка выдается на строке atoi(pos), при том что на ХР и в этой строке и во всех последующих все ок.... |
посмотрел
ну dll нужны следующие: kernel32, msvcrt вроде как есть везде. Запустил под 2000 из под VMWare - таки есть проблема. Судя по SoftIce ошибка в коде startup, при вызове ___mingw_CRTStartup. Чего оно происходит сказать сходу не могу. Хотя если я правильно понимаю это связано с проверкой стека. Возможно надо увеличить объем стека в директивах компилятора, или выделать память динамически а не обявлять сразу как rid[400], хотя странно это вроде не так уж и много. |
Цитата:
Попробуй проверить pos на NULL перед atoi. |
Цитата:
|
Цитата:
|
Цитата:
2 alexksei Вы конечно можете писать как хотите но не советую выделять массивчики не так как Вы делаете. Я понимаю что робота с памятю геморна но всьо же мой компилятор очень "матерился" на создание стековых массивов с не константными значениями размеров Цитата:
Цитата:
Цитата:
Вообщем советую посмотреть на стиль кодинга у хорошего знакомого программиста или поищите в Гугле статьи на эту тему. И напоследок не пишыте так "свободно" на С++, это не скриптовый язык всьо же ;) |
yan_kos, пасиба за советы, действительно моя проблемма - безалаберность :biggrin: если чтото пишу, то как попадёт, а не по правилам...буду стараться совершенствоваться ....и вопрос - как я могу создать массив с константным значением размера, если он неизвестен заранее и вообшемто может быть любым...
И всем пасиба за советы, буду пробовать, правда щас не имею доступа к Win 2000, так что проверить не могу... если у кого то есть еще какието догадки, пишите, буду благодарен ;) |
Цитата:
<тип даных>* <переменная>=new <тип даных> <размер>; Цитата:
то бишь ее нужно потом будет по чистить: Цитата:
|
2 alexksei
Прошу прощения, но код просто жуткий.. Это не C++.. Вопрос - зачем складывать имена файлов в массив? Может сразу и удалять? |
Цитата:
|
Вложений: 1
Цитата:
А вообще - поиск максимума/минимума делается за один проход. --- Вот архив с маленьким примером. Совсем без массива конечно нельзя, т.к. учитываются доп критерии. Но проход все же 1. Насчет того правильно ли это работает - не проверял не на чем, да и некогда. Пример (VS2005) сделан дабы показать идею и C++. P.S. Перезалил - забыл 2 строки. |
Цитата:
|
Часовой пояс GMT +4, время: 01:35. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.