Перейти к содержанию
    

Чем писать прогриммы для Windows на С++?

Здравствуйте!

Какие есть бесплатные средства разработки программ под Windows на С++? Программы будут продаваться в открытую. Как происходит сертификация данного продукта?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавлю, что Dev-C++ теперь развивается под именем wxDev-C++

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

OWLnext

http://owlnext.sourceforge.net/

 

Маленькая и компактная библиотека классов для GUI-интерфейса под Windows. Компилится на всех компиляторах компании Borland (откуда она, кстати, когда-то произошла) и ее приемниках (в том числе и RAD Studio 2009 года), всех версиях MS C++ Studio (включая 2008 года) и gcc. Удовлетворяет требованию бесплатности.

Рекомендую всем, кому нужна обозримая версия, в исходниках которой можно разобраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

OWLnext

http://owlnext.sourceforge.net/

 

Маленькая и компактная библиотека классов для GUI-интерфейса под Windows. Компилится на всех компиляторах компании Borland (откуда она, кстати, когда-то произошла) и ее приемниках (в том числе и RAD Studio 2009 года), всех версиях MS C++ Studio (включая 2008 года) и gcc. Удовлетворяет требованию бесплатности.

Рекомендую всем, кому нужна обозримая версия, в исходниках которой можно разобраться.

Тоесть для работы Вы используете компилятор Borland Builder бесплатной версии и библиотеку классов OWLNext. И никто к Вам не цепляется по поводу лицензии программного обеспечения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоесть для работы Вы используете компилятор Borland Builder бесплатной версии и библиотеку классов OWLNext. И никто к Вам не цепляется по поводу лицензии программного обеспечения?

 

Я использую Buider 6 или еще более древний Borland C++ 5.02 (релиз 1997 года еще до эпохи Билдеров). В данном случае новизна самого компилятора вещь второстепенная, т.к. новая OWLnext (последняя версия обновилась в этом месяце) знает о особенностях современных Windows (включая Vista) всё, что нужно знать.

Не знаю точно как обстоит дело с Buider 6 сейчас, но за Borland C++ 5.02 нынче никто не цепляется, т.к. сама компания Borland этим делом давно не занимается (сначала передала права CodeGear, а потом Embacadero), а последним наплевать на права Borland'а на продукт 12-летней давности.

Что же касается меня лично, то у меня имеются официальные лицензии на Borland C++ 3.0, Borland C++ 4.5, Borland C++ 5.02, Buider 6, CodeGear RAD Studio 2007 (все версии покупались с большой скидкой, как апгрейды к более ранним). А кто покупал первый Borland C++ 3.0 уже никто не помнит, давно было.

Но если так остро стоит вопрос о бесплатности компилятора - используйте gcc, он бесплатен по определению.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но если так остро стоит вопрос о бесплатности компилятора - используйте gcc, он бесплатен по определению.

Ещё есть опен ватком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё есть опен ватком.

 

На Ватком OWLNext не ставится. Вот здесь - http://owlnext.sourceforge.net/prebuild.html - представлены уже скомпилированные библиотеки для всех поддерживаемых комиляторов. На практике выбираешь одну из них и с ней работаешь. Ничего инсталлировать не надо, просто добавляешь подходящую библиотеку (это один единственный файл!) в директорий LIB, где хранятся родные библиотеки компилятора, а папку OWL со специфическими хидерами кладешь в директорий INCLUDE, где хранятся родные хидера компилятора (папку при этом вытрясать не надо - так в своей папке пусть и лежат). Вот и все!

По сравнению с этим, Qt - это монстр какой-то!

Важно понимать, что OWLNext это надстройка над операционной системой Windows, организованная в виде пользовательских классов, опирающихcя на ее API. А Qt - автономное государство в государстве (анклав), где практически всё реализуется исходя из примитивов. В этом-то и причины как переносимости Qt на неродственные платформы, так и огромного веса её библиотек. Для сравнения, статическая билиотека OWLNext весит меньше 4-х мегабайт, а реально добавляемый к программе код - около 600-800 килобайт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Важно понимать, что OWLNext это надстройка над операционной системой Windows, организованная в виде пользовательских классов, опирающихcя на ее API.

При этом РЕАЛЬНО совершенно незачем использовать над API надстройки. Надстройки это просто отрыжка борлондячей политики привязывавшей пользователей всеми средствами прользователей к своим "особенным" продуктам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При этом РЕАЛЬНО совершенно незачем использовать над API надстройки.

 

Программа живет в среде операционной системы, подобно тому, как человек живет в городе. API в этом смысле выступает, как "коммунальные услуги", предостявляемые программе совершенно бесплатно, в отличие от гражданина, который подобные услуги оплачивает из свого кармана.

 

Услуги, предоставляемые операционной системой программе, чем-то схожи с водопроводом, отоплением, канализацией, сетью магазинов и т.п. Программа, отстаивающая свою независимость от платформы, подобна маняьку, который овощи выращивает на подоконнике в цветочных горшках, воду собирает с крыши, отапливается буржуйкой или по-черному, а по малой и большой нужде ходит в яму, выкопанную посреди комнаты :). От такой "независимости" вреда куда больше, чем в зависимости от операционной системы, которая предоставляет столько возможностей, что глаза буквально разбегаются. А операционная система Windows в этом смысле самая щедрая.

 

Надстройки это просто отрыжка борлондячей политики привязывавшей пользователей всеми средствами прользователей к своим "особенным" продуктам.

 

OWL-библиотека лишь группирует средства API вокруг определенного пользовательского элемента. Например класс TButton описывает кнопку, в котором функции-члены класса позволяют делать с этой кнопкой всё, на что кнопка в принципе способна. Т.е. тут есть и функции, утапливающие эту кнопку, и опредляющие надпись или картинку на ее поверхности, и функции автоматически делающие ее активной или неактивной в зависимости от любого условия. Кроме того есть множество функций, которые сами выполняются при каких-то ситуациях с этой кнопкой, например, когда на нее наведена мыщь, или по ней этой мышью кликнули один раз, дважды, или нажали над ней правую кнопку мыши, активировали табулятором и т.п. Сюда же относятся и функции, которые запускаются, если окно, на котором изображена эта кнопка, именило свои габариты (например, было растянуто), изменилось разрешение экрана или масштаб диалоговых элементов, или пользователь сменил палитру рабочего стола. Кроме того, дилоговое окно, которое, в свою очередь, представлено своим классом (TDialog) тоже всегда находится в курсе, что происходит с элементами, на нем расположенноми. Поэтому устанавливая кнопке класс TButton, мы тем самым делаем ее управляемой от диалогового окна, делая возможными групповые операции типа "когда одну из кнопок нажимаем, ранее нажатая выскакивает".

 

Перечислять возможные ситуации можно очень долго, но главный плюс в том, что все эти функции, определяющие реакцию стандарной кнопки на "раздражение" уже написаны. А программист лишь доопределяет эти функции (дописывает или заменяет на свои) в том случае, когда стандартная реакция кнопки его не устраивает.

 

Надо признать, что подобным же образом организованы пользовательские классы и в Qt, и во многих других библиотеках классов. Т.е. это отнюдь не изобретение Борланда, а сложившаяся тенденция использования графических элементов в условиях, когда программисту становится сложным предусмотреть все возможные ситуации, которые могут реально возникнуть. Кроме того это чрезвычайно сильно облегчает написание программы, поскольку программу можно строить из стандартных кубиков, занимаясь модернизацией кубика только в тех случаях, когда в этом возникает острая необходимость.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

когда программисту становится сложным предусмотреть все возможные ситуации, которые могут реально возникнуть....

И программы которые писались теми, кому "сложно" (сложности, ведь не исчерпываются графическим интерфейсом :( ), благодаря этим "библиотекам да компонентам" видны невооруженным взглядом и не приходится тратить особо много времени на их отсев. Увидел, например, характерную борлондячую кнопочку - и сразу видишь человеку было "сложно", и сносишь. Несомненное удобство и облегчение участи пользователя :)!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...