|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.04.2010, 19:28 | #1 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Проблемы при разработке
Всякий раз как приступаю к разработке чего-либо, всегда сталкиваюсь с какими то страшными проблемами и неизвестными багами. Чтение документации, гугление, постоянные перезагрузки, консультации с братьями по оружию, которые часто просто разводят руками и наконец отладчик и дизассемблер. Вся эта мириада преобразований энергии в материю и обратно приводит к появлению очередной программы. Ценой ей служат потерянные нервные клетки.
Теперь вопрос: Всегда ли так? Или же большая часть этих потерь связана с качеством знаний? И наконец простой вопрос: получается ли у вас написать программу не тратя на нее нервы? Ну и риторический вопрос: смирится или же нужно что то делать с инструментарием? Я вот давно подумываю сделать себе что то вроде фреймворка, наподобии .NET-а(для С++) и аналог MFC для ассемблера, но все никак не пойму в чем моя проблема. Ведь когда я писал ОС - все баги были на мне и я их довольно быстро находил. Да и вся разработка шла как по маслу. А вот под Win32 всегда возникают какие то левые проблемы. Код одинаковый, а через пару перезагрузок баги исчезают. PS: Помогу я себе конечно же сам, мне просто интересно мнение и опыт других людей.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
10.04.2010, 19:46 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Когда Вы пишите свою ОС, вы пишите код такой, что идеально вкладывается и структуризируется в вашем мозгу. Win32 - Это результат работы других программистов, и наверняка полное знание API и идеальное понимание его Вы не имеете, соответственно возникают "какие то левые проблемы".
А по теме, если проект серьезно, всегда приходится иметь дело с MSDN, спецификациями других производителей (Twitter, Facebook, Youtube, Flickr и др.), нервы всегда трачу, но обычно после 3-4 часов ступора на месте я бросаю до следующего дня, а там сажусь с новыми силами + то что было вчера уже уложилось в голове, и проблема решается. |
10.04.2010, 20:00 | #3 |
Регистрация: 03.01.2010
Сообщений: 7
|
Проблема такая же.
Имею знания, как написать Hello World на FASM. Спрашивал, с чего начать - советовали Калашникова. Почитал. Совершенно неактуально для Windows. Куча потраченного времени. Да, я умею использовать регистры процессора, могу использовать озвученные там прерывания, команды. Всё. Посоветовали туториалы Iczelion'а. Ну и, я научился юзать предложенные там WinAPI, использовать тот каркас программы и всё. В голове ничего, на практике это не особо поможет. Опять куча потраченного времени. Теперь советуют сразу переходить к написанию каких-то мелких проектов. Допустим, я уже имею какое-то понятие. У меня есть IDE RadASM, настроенная на FASM. Я смогу накидать там в диалог кнопочек и едитов, потом вызвать DialogBoxParam и обрабатывать сообщения. Вот, то что я знаю. И тут начинаются проблемы. Откуда я мог узнать, что для того, чтобы "текст в окне был не жирный и стиль кнопок\едитов было XP'шный", мне нужно в ресурсах прописывать манифест? Из гугла? Хорошо, я смог найти это в гугле. Сейчас я хочу использовать ProgressBar. Но DialogBoxParam не знает о существовании класса "msctls_progress32" и возвращает ошибку CANNOT_FIND_WND_CLASS. И вот опять я встаю в тупик. Я понятия не имею, почему оно не работает. Я спрашиваю у друга в аське, ищу в гугле. Ну, друг мне говорит, что нужно вызвать InitCommonControls. И откуда мне достать эту информацию, кроме как из гугла или попрошайничества в аське и на форумах? Неужели, чтобы спокойно писать на ассемблере под Windows мне нужно постоянно изобретать велосипеды, гуглить, гуглить, спрашивать у других? Неужели профессиональные программисты учаться программировать в гугле? Ведь всё это должно быть где-то описано и необязательно на английском языке, который я плохо знаю -_- Я не могу найти ничего кроме второсортных гайдов и туториалов, где от хеллоуворлда и пары винапи, циклов, функций, переходят к написанию вируса путём копипаста из интернета. Руки опускаются, хочется забить на всё это. Просто скажите, где вы находите нужную информацию?... |
10.04.2010, 21:36 | #4 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Опыт, сын ошибок .... Советы неуместны.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
10.04.2010, 21:55 | #5 | ||
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Цитата:
Просто надо не только читать, а сразу читать и делать. Я когда начинал, у меня были туторы Iczelion'а (уже даже и не помню, откуда) справка по WIN_API из Delphi выдернутая ну и масм со своей пачкой примеров на все случаи жизни и всё (интернета не было). Друзей, которые бы занимались чем-то подобным, тоже не было. А ещё была железяка, которую надо было подружить с COM-портом. Так они и программировались параллельно - контроллер и процессор. А так как Mega писалась на ассемблере, а целые куски кода были, по сути, одинаковы, что для контроллера, что для компа, то, как-то влом было переписывать на C для компьютера. Так и прикипел к ассемблеру. Отладчиками, дизассемблерами и IDE не пользуюсь. Отношение к отладчикам негативное, опять таки предрассудки с железа остались - врали они тогда. На эмуляторе прогонишь вроде программу, посмотришь - всё классно. Зашиваешь в контроллер, и начинаются чудеса. Сейчас есть благо и MSDN и куча ещё всего. Так что проблем вообще не вижу. Правда, я не профессиональный программист - Наверное, меня это оправдывает. Цитата:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
||
10.04.2010, 23:41 | #6 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Парадокс программиста - не делай сегодня то, что завтра на свежую голову сделаешь в два раза быстрее.
Баги бывают конечно, не без этого, разной степени ужасности з.ы. Ух, тяжело вам, ассемблерщикам
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
10.04.2010, 23:44 | #7 | |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Цитата:
И хватает же ему памяти, что бы сохранить код... да и мощности... Чудо! |
|
12.04.2010, 23:30 | #8 |
Форумчанин
Регистрация: 15.07.2008
Сообщений: 615
|
Когда тоже начинал, то мне попались туториалы Рикардо Нарвахи, именно от туда я понял зачем нужны всякие там команды асма и что такое API. Несмотря на то, что хоть эти туториалы не относились к программированию, но для меня они стали отправной точкой. Про туториалы Икзелиона узнал как ни странно относительно недавно, почитал некоторые, которые нужны были мне и по сути всё вытекало из них, смыла читать все не было.
Leo_ня, может ты выбрал не свой язык, а может еще слишком мало опыта в написании прог под Виндоус. Я когда увидел у Икзелиона про RichEdit где было за 1300 строк, то сразу возникла мысль, что человек такого написать не может, ведь почему так много, если на делфи подобное вышло бы на 20 строк. А сейчас кажется, что это не много, а точнее нормально
xor eax, eax
xchg [eax], eax |
13.04.2010, 12:45 | #9 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Если мануалы кажутся бестолковыми - пишите свои! Такими, какими по-вашему они и должны быть. Наверняка найдутся люди с теми же проблемами, и их ваши мануалы спасут.
Когда я неделю разбирался с написанием программ с плагинами на C#, я понял, что нигде нет действительно хороших руководств с объяснениями и примерами. Тогда я написал свой пример. То же относится к статье по WinAPI, которая пошла в журнал, и ещё нескольким starter kit-ам, пылящимся на винте и ждущим свои статей. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблемы при смене ос | eros_s | Операционные системы общие вопросы | 2 | 05.01.2010 15:26 |
ClassCastException при разработке плагина | igorDanilov | Общие вопросы по Java, Java SE, Kotlin | 0 | 14.10.2009 16:11 |
Проблемы при установке InDy10 | Пепел Феникса | Компоненты Delphi | 2 | 18.02.2009 16:35 |
Проблемы при удалении файлов | Pavel55 | Общие вопросы Delphi | 7 | 10.01.2008 00:45 |
Реализация объєктно-ориентированого подхода при разработке программы (с использованием нотации Буча) | Vikk22 | Помощь студентам | 3 | 18.11.2007 19:53 |