![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
![]()
Всякий раз как приступаю к разработке чего-либо, всегда сталкиваюсь с какими то страшными проблемами и неизвестными багами. Чтение документации, гугление, постоянные перезагрузки, консультации с братьями по оружию, которые часто просто разводят руками и наконец отладчик и дизассемблер. Вся эта мириада преобразований энергии в материю и обратно приводит к появлению очередной программы. Ценой ей служат потерянные нервные клетки.
Теперь вопрос: Всегда ли так? Или же большая часть этих потерь связана с качеством знаний? И наконец простой вопрос: получается ли у вас написать программу не тратя на нее нервы? Ну и риторический вопрос: смирится или же нужно что то делать с инструментарием? Я вот давно подумываю сделать себе что то вроде фреймворка, наподобии .NET-а(для С++) и аналог MFC для ассемблера, но все никак не пойму в чем моя проблема. Ведь когда я писал ОС - все баги были на мне и я их довольно быстро находил. Да и вся разработка шла как по маслу. А вот под Win32 всегда возникают какие то левые проблемы. Код одинаковый, а через пару перезагрузок баги исчезают. PS: Помогу я себе конечно же сам, мне просто интересно мнение и опыт других людей.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
![]() |
![]() |
![]() |
#2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Когда Вы пишите свою ОС, вы пишите код такой, что идеально вкладывается и структуризируется в вашем мозгу. Win32 - Это результат работы других программистов, и наверняка полное знание API и идеальное понимание его Вы не имеете, соответственно возникают "какие то левые проблемы".
А по теме, если проект серьезно, всегда приходится иметь дело с MSDN, спецификациями других производителей (Twitter, Facebook, Youtube, Flickr и др.), нервы всегда трачу, но обычно после 3-4 часов ступора на месте я бросаю до следующего дня, а там сажусь с новыми силами + то что было вчера уже уложилось в голове, и проблема решается. |
![]() |
![]() |
![]() |
#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 мне нужно постоянно изобретать велосипеды, гуглить, гуглить, спрашивать у других? Неужели профессиональные программисты учаться программировать в гугле? Ведь всё это должно быть где-то описано и необязательно на английском языке, который я плохо знаю -_- Я не могу найти ничего кроме второсортных гайдов и туториалов, где от хеллоуворлда и пары винапи, циклов, функций, переходят к написанию вируса путём копипаста из интернета. Руки опускаются, хочется забить на всё это. Просто скажите, где вы находите нужную информацию?... |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
![]()
Опыт, сын ошибок .... Советы неуместны.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
![]() |
![]() |
![]() |
#5 | ||
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]() Цитата:
Просто надо не только читать, а сразу читать и делать. Я когда начинал, у меня были туторы Iczelion'а (уже даже и не помню, откуда) справка по WIN_API из Delphi выдернутая ну и масм со своей пачкой примеров на все случаи жизни и всё (интернета не было). Друзей, которые бы занимались чем-то подобным, тоже не было. А ещё была железяка, которую надо было подружить с COM-портом. Так они и программировались параллельно - контроллер и процессор. А так как Mega писалась на ассемблере, а целые куски кода были, по сути, одинаковы, что для контроллера, что для компа, то, как-то влом было переписывать на C для компьютера. Так и прикипел к ассемблеру. Отладчиками, дизассемблерами и IDE не пользуюсь. Отношение к отладчикам негативное, опять таки предрассудки с железа остались - врали они тогда. На эмуляторе прогонишь вроде программу, посмотришь - всё классно. Зашиваешь в контроллер, и начинаются чудеса. Сейчас есть благо и MSDN и куча ещё всего. Так что проблем вообще не вижу. Правда, я не профессиональный программист ![]() Цитата:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
||
![]() |
![]() |
![]() |
#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)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#7 | |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
![]() Цитата:
И хватает же ему памяти, что бы сохранить код... да и мощности... Чудо! |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.07.2008
Сообщений: 615
|
![]()
Когда тоже начинал, то мне попались туториалы Рикардо Нарвахи, именно от туда я понял зачем нужны всякие там команды асма и что такое API. Несмотря на то, что хоть эти туториалы не относились к программированию, но для меня они стали отправной точкой. Про туториалы Икзелиона узнал как ни странно относительно недавно, почитал некоторые, которые нужны были мне и по сути всё вытекало из них, смыла читать все не было.
Leo_ня, может ты выбрал не свой язык, а может еще слишком мало опыта в написании прог под Виндоус. Я когда увидел у Икзелиона про RichEdit где было за 1300 строк, то сразу возникла мысль, что человек такого написать не может ![]() ![]() ![]()
xor eax, eax
xchg [eax], eax |
![]() |
![]() |
![]() |
#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 |