Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств.

 
Опции темы
Непрочитано 07.08.2011, 18:24  
кустомер
Почётный гражданин KAZUS.RU
 
Аватар для кустомер
 
Регистрация: 29.12.2009
Сообщений: 4,561
Сказал спасибо: 619
Сказали Спасибо 1,813 раз(а) в 974 сообщении(ях)
кустомер на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

Что могу для Вас пояснить по теме? В статье пытался описать смысл объектного программирования. Что следует к тому добавить?
кустомер вне форума  
Непрочитано 07.08.2011, 18:33  
aleksandr-zh
Гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 932
Сказал спасибо: 824
Сказали Спасибо 609 раз(а) в 216 сообщении(ях)
aleksandr-zh на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

идея - понятна
а вот написать что-то сложнее Hello word пока не могу
aleksandr-zh вне форума  
Непрочитано 07.08.2011, 19:03  
кустомер
Почётный гражданин KAZUS.RU
 
Аватар для кустомер
 
Регистрация: 29.12.2009
Сообщений: 4,561
Сказал спасибо: 619
Сказали Спасибо 1,813 раз(а) в 974 сообщении(ях)
кустомер на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

Извиняюсь конечно, но вполне естественен вопрос: на чем пишем?
кустомер вне форума  
Непрочитано 07.08.2011, 19:06  
aleksandr-zh
Гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 932
Сказал спасибо: 824
Сказали Спасибо 609 раз(а) в 216 сообщении(ях)
aleksandr-zh на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

пока хоть немного въехал в VB
но, учитывая, что не прикасался к этой тему больше года, уже всё позабыто
aleksandr-zh вне форума  
Непрочитано 07.08.2011, 19:25  
microsin
Временная регистрация
 
Аватар для microsin
 
Регистрация: 29.03.2005
Сообщений: 86
Сказал спасибо: 6
Сказали Спасибо 45 раз(а) в 21 сообщении(ях)
microsin на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

Принципиальной разницы в написании программ под микроконтроллеры и под Windows нет. Однако если вдаваться в тонкости, то разница есть. Вот основные различия (трудности):

1. Под Windows существует огромное количество сред программирования, и поэтому очень сложно выбрать. Выбирать среду проектирования нужно основываясь на предыдущих познаниях в программировании и выбранной прикладной области для программирования. Для человека с опытом эмбеддера лучше всего брать среду на C, из бесплатных хороши старый знакомый GCC (входит в состав пакета MinGW/MSYS), а также QT. Обе эти системы кроссплатформенны, так что Ваш C-код можно компилить и для Windows, и для *NIX систем. Неплохой выбор также платформа .NET, переползшая и на микроконтроллеры, а также язык C#.

2. Чтобы хорошо программировать под Windows, нужно знать и уметь использовать 3 вещи - библиотеки, библиотеки и еще раз библиотеки. Без этого невозможно написать ни одной серьезной программы, кроме "Hello, World!". Если уточнить, то нужно знать библиотеки фреймворка, сторонние библиотеки для выполнения нужных функций (регулярные выражения, реестр, обработка XML, GUI, работа со звуком, сетью, потоками, портами ввода/вывода и так далее до бесконечности) и API Windows. Объем материала огромный, намного больше, чем нужно освоить для программирования любой embedded-платформы. В этом основная трудность - приручить этих трех китов. Нужно начать это все изучать, потихоньку использовать и дальше всю жизнь учиться.

3. Учиться очень полезно на чужом коде, желательно простом. Могу посоветовать примеры кода под GCC для ПО хоста USB-устройств из библиотеки V-USB, все компилируется и замечательно работает. Примеры даже переведены на русский язык (комментарии в коде), так что разобраться вполне реально. Еще полезнее на основе чужого кода постепенно решать какую-нибудь свою задачу - учеба в процессе работы.

4. Писать для Windows можно точно в том же стиле, как в для микроконтроллеров - используя только один поток в цикле main, с вызовами неблокирующих процедур из главного цикла. Однако во многих случаях, особенно при работе с библиотеками, на одном потоке трудно обеспечить условие неблокирования при вызове функций библиотек (особенно это касается работы с вводом и выводом, с сетью, звуком, USB и т. д.). Причина в том, что часто библиотеки рассчитаны на многопоточное приложение, и допускают блокирование при вызове своих функций. Если у Вас приложение на одном потоке, то оно при блокировании функции просто зависнет, и будет ждать выхода из неё. Иногда (но далеко не всегда) можно обойти блокирование, используя CALLBACK-и, но не во всех библиотеках это предусмотрено. Поэтому очень и очень полезно освоить приятную фичу Windows - многопоточность, с ней код сильно упрощается, и приложение не будет виснуть при блокировке какой-нибудь функции. Потоки - это самое простое из всего, что встречается в программировании, и почему-то многие боятся их использовать. Сам тоже раньше боялся, но потом понял, что другого пути просто нет.

5. Документации на русском языке очень много, так что если не знаете технического английского, то пережить можно. Однако лучше английский осваивать, упорно читая со словарем код и документацию к библиотекам. Это очень поможет в дальнейшей работе.

Последний раз редактировалось microsin; 07.08.2011 в 19:49.
microsin вне форума  
Эти 3 пользователя(ей) сказали Спасибо microsin за это сообщение:
aleksandr-zh (07.08.2011), Fizicus (22.08.2011), Ан-162 (07.10.2011)
Непрочитано 07.08.2011, 19:44  
кустомер
Почётный гражданин KAZUS.RU
 
Аватар для кустомер
 
Регистрация: 29.12.2009
Сообщений: 4,561
Сказал спасибо: 619
Сказали Спасибо 1,813 раз(а) в 974 сообщении(ях)
кустомер на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

Ну, по VB подсказать могу.
Дарю Вам мой проект-заготовку. Там уже готовая форма с менюшкой.
Только размещай свои объекты на форме, вписывай в их подпрограммы нужные команды - и всё готово))))
Но знание языка нужно освежить конечно.

Примечание.
В заготовке есть модуль, в котором используются АПИ. Вам ими грузиться пока нет нужды: всё уже подключено как надо.
Вложения:
Тип файла: zip project1.zip (6.7 Кб, 80 просмотров)
кустомер вне форума  
Непрочитано 07.08.2011, 21:14  
execute
Временная регистрация
 
Регистрация: 16.05.2006
Сообщений: 31
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
execute на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

Изучите, что такое API, от него уже и пляшите(если , конечно, знаете языки программирования).
execute вне форума  
Непрочитано 07.08.2011, 22:21  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

API - это такая штуковина -application programming interface , взаимодействие между приложениями , на C (обычно) написаны функции, можно вставлять куда угодно.(не понял , отвечаю на стёртое сообщение )
OlegNZH вне форума  
Непрочитано 07.08.2011, 22:25  
mtit
Почётный гражданин KAZUS.RU
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,248
Сказал спасибо: 2,096
Сказали Спасибо 1,706 раз(а) в 966 сообщении(ях)
mtit на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

Сообщение от OlegNZH Посмотреть сообщение
Вы уже почти поняли принцип ... ОС работает с ОЧЕРЕДЬЮ Событий, периодически её проверяя, а программы-запихивают туда "Свои вопросы"..
Сообщение от microsin Посмотреть сообщение
Писать для Windows можно точно в том же стиле, как в для микроконтроллеров - используя только один поток в цикле main, с вызовами неблокирующих процедур из главного цикла.
Обобщу. Есть (как бы) три вида программм для современных ОС: графические-визуальные (окна, хрюкалки, бантики, кнопки), консольные, и которые вообще на экране не видны. (Понимаю, что обьяснение звучит как для третьеклассника, но..)
Консольнвые - понятно. Кто в DOS программировал - тот и здесь разберётся. Те, которые не видимы - нас не интересуют, пока.
ВОПРОС: Как работают оконные программы?
Ответ: Сразу после запуска программа уходит в "бесконечный" цикл. В бесконечном цикле проверяется -"пришли ли сообщения(прерывания) от конопок, мыши, менюшек?". Если есть такие сообщения - вызывается подпрограмма, которая соответствует сообщению (каждому визуальному "в натуре" обьекту может соответствовать несколько разных подпрограмм). Подпрограма отработала - возвращаемся снова в бесконечный цикл. Выход из программы - когда от кнопки (кнопки на форме, строки меню, клавиатуры - горячие клавиши, от ОС - "закрыть программу?") - приходит сообщение, по которому (либо в шаблоне программы уже забито, либо программист постарался) вызывается подпрограмма завершения работы программы (закрытия формы).

Как-то так.

При этом потоки сообщений идут снизу ввверх. (Например. клик мышкой - вверх ушло "клик", подпрограмма Оси - приняла сообщение "клик", пооверила координаты курсора, отправила дальше "клик, 400, 700", ..., "клик, 400, 700, точка принадлежит форме программы "Prog"", "клик, 400, 700, точка принадлежит форме программы "Prog", попадает на кнопку "вычислить"",... и так далее.
И сверху вниз. (аналогично)

Только всё это - большая тайна. Потому как главная задача IDE - оградить программиста от этих сложностей. Вам достаточно знать - "накидал" в VB (только для примера, можно в C#) кнопок на форму, написал "обработчики" тыканья в эти кнопки. Всё!
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.

Последний раз редактировалось mtit; 07.08.2011 в 22:33.
mtit вне форума  
Сказали "Спасибо" mtit
aleksandr-zh (07.08.2011)
Непрочитано 07.08.2011, 22:29  
кустомер
Почётный гражданин KAZUS.RU
 
Аватар для кустомер
 
Регистрация: 29.12.2009
Сообщений: 4,561
Сказал спасибо: 619
Сказали Спасибо 1,813 раз(а) в 974 сообщении(ях)
кустомер на пути к лучшему
По умолчанию Re: Как научиться писать ПО под Win?

АПИ - это функции из состава самой Винды, грубо говоря. Возможностей они дают действительно много, но работа с ними - ой гимор!..
Мое личное мнение: использую как вставки в бейсик-программу в тех случаях, когда с собственными функциями VB гимора еще больше

Изучать их специально - ну, у кого запаса душевных сил дофига))))) полезно конечно.
кустомер вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Так, рассказик :)) Я долго ржал :)) DK Отвлекитесь, эмбеддеры! 7 31.08.2007 22:33
[Решено] Сборник перлов любителей кабельщины mikesmith Отвлекитесь, эмбеддеры! 135 14.08.2007 15:49
[Решено] про блоки питания бу-га-га! zalman Отвлекитесь, эмбеддеры! 12 29.01.2007 10:46
[Решено] Ищу среду разработки для MSC48 под Win Андрей Proteus, KiCAD и другие ECAD 1 06.03.2006 16:32


Часовой пояс GMT +4, время: 10:34.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot