wxDev-C++

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
Vladimir
In need of some credit
In need of some credit
Posts: 2
Joined: Mon Jul 07, 2008 11:09 am

wxDev-C++

Post by Vladimir » Mon Jul 07, 2008 11:28 am

Добрый день. Я программировал на Delphi и Asm. С++ только начинаю изучать используя wxDev-C++. Поэтому, если вопросы тупые, просьба ногами не бить :).
1) Очень волнует размер компилированного файла 3мб. Компилятор MinGW встроен в IDE wxDev. Если установить флажок Strip executable, то становиться чуть меньше >2мб. Это расплата за кроссплатформенность? Можно ли как-то избежатьогромного размера.
2) Скорость компиляции просто ужсна. Но я так понял это беда всех компиляторов C++. Можно ли откомпилировать файлы библиотеки в какой либо бинарный формат, чтоб они не перекомпилировались каждый раз при сборке проекта. (Например как в Delphi)?
3) На сколько реально переносим код написаный на WxWidgets на другие платформы?
4) Очень понравилась IDE (сильное сходство с Delphi), хотя иногда проскакивают глюки. Сперва хотел заниматься по книге, но сейчас сильно увлекся освоением методом "научного тыка". Вопрос такой: Есть компонент WxRichTextCtrl у него есть метод LoadFile. Код:
WxOpenFileDialog1->ShowModal();
WxButton1->SetLabel(WxOpenFileDialog1->GetPath());
WxRichTextCtrl1->LoadFile(WxOpenFileDialog1>GetPath(), wxRICHTEXT_TYPE_RTF);
Не работает. Выдает ошибку: не могу загрузить файл. Файл в формате rtf (сохранен MS Word).
Что я делаю не так?

Заранее спасибо за помощь.

tan
Moderator
Moderator
Posts: 1471
Joined: Tue Nov 14, 2006 7:58 am
Location: Saint-Petersburg, Russia

Re: wxDev-C++

Post by tan » Mon Jul 07, 2008 1:01 pm

Vladimir wrote:Добрый день. Я программировал на Delphi и Asm. С++ только начинаю изучать используя wxDev-C++. Поэтому, если вопросы тупые, просьба ногами не бить :).
Привет!
Vladimir wrote: 1) Очень волнует размер компилированного файла 3мб. Компилятор MinGW встроен в IDE wxDev. Если установить флажок Strip executable, то становиться чуть меньше >2мб. Это расплата за кроссплатформенность? Можно ли как-то избежатьогромного размера.
Ну это "вечный" вопрос :)
Во-первых, какой вариант wx библиотеки (dynamic or static) ты используешь? Судя по размерам екзешника - статический. Если волнует только размер исполняемого файла (а не полный размер всех файлов, необходимых для исполнения), используй динамические библиотеки.
Во-вторых, debug/release (думаю, понятно).
В третьих, компилятор тоже влияет (и весьма существенно). Компилер от M$ делает гораздо более компактный код.
Ну и, наконец, используй UPX для сжатия готового модуля.
Как пример, у меня достаточно функциональная программа собранная статически ужимается до 800К.
Vladimir wrote: 2) Скорость компиляции просто ужсна. Но я так понял это беда всех компиляторов C++. Можно ли откомпилировать файлы библиотеки в какой либо бинарный формат, чтоб они не перекомпилировались каждый раз при сборке проекта. (Например как в Delphi)?
Да, действительно, компилер MinGW ужасно тормознутый. Советую перейти на M$, разница в разы. Да и код он лучше делает.
Vladimir wrote: 3) На сколько реально переносим код написаный на WxWidgets на другие платформы?
Вполне реально :) В более-менее стандартных ситуациях вообще без единого #ifdef в коде все нормально переносится.
Vladimir wrote: 4) Очень понравилась IDE (сильное сходство с Delphi), хотя иногда проскакивают глюки. Сперва хотел заниматься по книге, но сейчас сильно увлекся освоением методом "научного тыка". Вопрос такой: Есть компонент WxRichTextCtrl у него есть метод LoadFile. Код:
WxOpenFileDialog1->ShowModal();
WxButton1->SetLabel(WxOpenFileDialog1->GetPath());
WxRichTextCtrl1->LoadFile(WxOpenFileDialog1>GetPath(), wxRICHTEXT_TYPE_RTF);
Не работает. Выдает ошибку: не могу загрузить файл. Файл в формате rtf (сохранен MS Word).
Что я делаю не так?
Да вроде все так, только хандлер для RTF файлов, похоже, еще не реализован :(
В версии 2.8.8 реализованы только
wxRichTextFileHandler, wxRichTextHTMLHandler, wxRichTextXMLHandler.

Из документации:

This is a list of some of the features that have yet to be implemented. Help with them will be appreciated.


RTF input and output
Conversion from HTML
Open Office input and output
Floating images, with content wrapping around them
A ruler control
Standard editing toolbars
Tables
Bitmap bullets
Borders
Text frames
Justified text, in print/preview at least
OS: Windows XP Pro
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10

Post Reply