qt
Наконец, вместо того, чтобы копировать qt с компа на комп и копаться в его исходниках, немного побаловался с написанием программ. Выводы:
1) qt creator (и возможно, сам qt) еще таки дорабатывать и дорабатывать. Глючит-с. Мне кажется, что это не уровень RC, это таки сырая бета.
2) qt не использует стандартных виндовских контролов вообще, судя по тому, что spyxx не видит ничего в проге кроме топ-левел окна.
3) Способ разработки гуя достаточно интересен, некоторые вещи интуитивно понятнее и удобнее дельфей и вижуал-студии.
4) Надо написать хотя бы одну полноценную прогу на этом деле, чтобы таки осознать, стоит дергаться ради галочки "можно писать кроссплатформенный GUI".
1) qt creator (и возможно, сам qt) еще таки дорабатывать и дорабатывать. Глючит-с. Мне кажется, что это не уровень RC, это таки сырая бета.
2) qt не использует стандартных виндовских контролов вообще, судя по тому, что spyxx не видит ничего в проге кроме топ-левел окна.
3) Способ разработки гуя достаточно интересен, некоторые вещи интуитивно понятнее и удобнее дельфей и вижуал-студии.
4) Надо написать хотя бы одну полноценную прогу на этом деле, чтобы таки осознать, стоит дергаться ради галочки "можно писать кроссплатформенный GUI".
no subject
От потери производительности на ровном месте. Например, длиннющие имена символов. Динамическому линковщику приходится перелопачивать дикие объймы данных, только что бы сделать все relocations. Дриппер считал сколько строк нужно сравнить динамическому линковщику для запуска OpenOffice 1.0. Получилось порядка 18.5 мегабайт!
Это этого Qt никуда не деться.
no subject
2. решения этой проблемы нет нигде, вы можете написать подобный API на C, тока в нём всё равно будут длиннющие имена, тупо потому что методов *много*
3. медленный старт openoffice-а был обусловлен совершенно другой бедой, а не кол-вом библиотек с котороыми ему надо было слинковаться
4. 20Mb это совсем немного
no subject
2. libgtk-x11-2.0.so -- средняя длинна символа 25.2. libQtGui.so.4 - 35.9. К тому же в случае C, strcmp, как правило, обнаруживает неравенство раньше ибо в символах нет неймспэйсов и имён классов.
3. Мы тут не OO обсуждаем.
4. Ну-ну.
no subject
no subject
no subject
фрагмент из середины, namespace-ов не вижу, вижу тока class-методы, + в начале сигнарутура типа
_ZN24QAbstractEventDispatcher11closingDownEv
_ZN24QAbstractEventDispatcher11filterEventEPv
_ZN24QAbstractEventDispatcher8instanceEP7QThread
_ZN24QAbstractPageSetupDialog16staticMetaObjectE
_ZN24QAbstractPageSetupDialog16staticMetaObjectE
_ZN24QPlainTextDocumentLayout16staticMetaObjectE
_ZN25QAbstractItemModelPrivate11rowsRemovedERK11QModelIndexii
_ZN25QAbstractItemModelPrivate16staticEmptyModelEv
_ZN25QAbstractItemModelPrivate20rowsAboutToBeRemovedERK11QModelIndexii
_ZN27QAbstractTextDocumentLayout16staticMetaObjectE
_ZN27QAbstractTextDocumentLayout16staticMetaObjectE
_ZN27QAbstractTextDocumentLayout16staticMetaObjectE
_ZN27QEventDispatcherGlibPrivateC2EP13_GMainContext
no subject
no subject
no subject
Приятного аппетита троль.
no subject
no subject
application_private_{72 функции} и было бы тоже самое.