That explains why Notepad++ is not available (and won't be available) under Linux :P
27 нояб. 2009 г.
MinGW, wxString::ToLongLong() и все все все
Дано:
wxString - строка содержащая число в строковом представлении.
m_nSize - 64 битное число.
MinGW - компилятор.
wxWidgets - фреймворк.
Задача:
Конвертировать строку в число, дабы произвести некие действия.
Решение:
Открываем доки, ищем и находим следующее:
Если конвертирование возможно получаем true, но вся соль в том, что в случае с MinGW во всех случаях обламываемся и получаем false, т.к. есть некоторое условие:
Читаем и изучаем stdlib.h и внимательно справку по wxString
Получаем следующее:
Проверяем результат:
и обламываемся, оказывается M$ имеет свой стандарт на форматирование и в MinGW
надо использовать следующее:
Да-да, стандарты существуют для того же для чего и законы.
P.S. в Symbian при переходе с 7.0s-8.1a на 8.1b тоже изменили:
BEFORE:
AFTER:
wxString - строка содержащая число в строковом представлении.
m_nSize - 64 битное число.
MinGW - компилятор.
wxWidgets - фреймворк.
Задача:
Конвертировать строку в число, дабы произвести некие действия.
Решение:
Открываем доки, ищем и находим следующее:
wxString::ToLongLong
bool ToLongLong(wxLongLong_t *val, int base = 10) const
Если конвертирование возможно получаем true, но вся соль в том, что в случае с MinGW во всех случаях обламываемся и получаем false, т.к. есть некоторое условие:
Compilers with C99 support and Microsoft Visual C++ version 7 and higher do support this.
Читаем и изучаем stdlib.h и внимательно справку по wxString
Получаем следующее:
m_nSize = atoll(strHeaderSize.char_str());
Проверяем результат:
wxMessageBox(wxString::Format(wxT("%lld"), m_Size));
и обламываемся, оказывается M$ имеет свой стандарт на форматирование и в MinGW
надо использовать следующее:
wxMessageBox(wxString::Format(wxT("%I64d"), m_nSize));
Да-да, стандарты существуют для того же для чего и законы.
P.S. в Symbian при переходе с 7.0s-8.1a на 8.1b тоже изменили:
BEFORE:
x.GetTInt();
AFTER:
I64INT(x);
26 нояб. 2009 г.
Бобик сдох?
Airbit`овцы похоже решили окончательно уйти в аутсорсинг, классическая ситуация "верхи" не хотят "низы" не могут. Не идет дело, так поменяй стратегию, зачем быть собакой на сене? В виде Open Source mShell(с платной коммерческой лицензией например как в QT) пошло бы бодрее, на правах контрибутора я бы поучаствовал например just for fun. Это если они не хотят быть просто аусорсинговой компанией, в Ovi Store же по поводу остальных продуктов компании отзывы кхм... скептические G-Meter убрали комменты были тоже не фонтан. Бабка Ванга считает, что либо они продадуться (оч. распространенный вид бизнеса на Западе), либо OS вариант, либо, если нет чувства коньюктуры... попутного ветра в широкую спину. Понаблюдаем из партера.
Nightly Builds
Активно попользовался Code::Blocks (8.02 Stable), раздражали только несколько вещей:
- Никакущий code outline
- Не всегда логичное поведение табов
- Меню Copy/Paste за каким то х**ом спрятано в подменю ("очень" удобно особенно ночью когда на ощупь вместо Ctrl+C и Ctrl+V попадаещь не на ту клавишу, т.к. у меня на Ctrl+B стоит компиляция)
- Отсутствие хоткеев на Find Declaration/Implementation
Терзался стоит ли связываться с ночником, но стабильная версия датирована 28 Feb 2008...
В общем паралельно поставил ночной билд и из всего списка остался только Меню Copy/Paste. Outline удобнейший, табы лучше, все хоткеи в настройках + бонусы в виде новых плагинов (выделение слов по дабл клику, inline поиск, список открытых файлов, wxSmith с AUI, Тетрис!!!111). Но падал 2 раза на закрытии при запросе сохранения лайота, в принципе не чревато еслипредохраняться сохраняться.
Да и написан на C++ и wxWidgets т.е. быстр, нетребователен к ресурсам и вносит некоторый элемент гармонии "на чем пишу тем и пользуюся" после диссонанса навеяного Carbide.C++ являющимся выкормышем Eclipse и Java к которой у меня и не только у меня "трепетное" отношение.
Параллельно попобовал CodeLite вот где тихий ужас, пытался настроить компилятор на статичную линковку 3 часа(!), оказалось что сначала надо задать директорию с lib (изначально натравлен он на динамическую), затем уже создавать workspace. Неправильный порядок вводил светлокод в тупняк, а погромиста в ярость. В общем блоку пока сливает всухую. Но если сравнить например с QT Creator то не так страшно, это чудо вообще IDE не назовешь, медиаплеер даже кнопка "Play" есть, бугага.
- Никакущий code outline
- Не всегда логичное поведение табов
- Меню Copy/Paste за каким то х**ом спрятано в подменю ("очень" удобно особенно ночью когда на ощупь вместо Ctrl+C и Ctrl+V попадаещь не на ту клавишу, т.к. у меня на Ctrl+B стоит компиляция)
- Отсутствие хоткеев на Find Declaration/Implementation
Терзался стоит ли связываться с ночником, но стабильная версия датирована 28 Feb 2008...
В общем паралельно поставил ночной билд и из всего списка остался только Меню Copy/Paste. Outline удобнейший, табы лучше, все хоткеи в настройках + бонусы в виде новых плагинов (выделение слов по дабл клику, inline поиск, список открытых файлов, wxSmith с AUI, Тетрис!!!111). Но падал 2 раза на закрытии при запросе сохранения лайота, в принципе не чревато если
Да и написан на C++ и wxWidgets т.е. быстр, нетребователен к ресурсам и вносит некоторый элемент гармонии "на чем пишу тем и пользуюся" после диссонанса навеяного Carbide.C++ являющимся выкормышем Eclipse и Java к которой у меня и не только у меня "трепетное" отношение.
Параллельно попобовал CodeLite вот где тихий ужас, пытался настроить компилятор на статичную линковку 3 часа(!), оказалось что сначала надо задать директорию с lib (изначально натравлен он на динамическую), затем уже создавать workspace. Неправильный порядок вводил светлокод в тупняк, а погромиста в ярость. В общем блоку пока сливает всухую. Но если сравнить например с QT Creator то не так страшно, это чудо вообще IDE не назовешь, медиаплеер даже кнопка "Play" есть, бугага.
Подписаться на:
Сообщения (Atom)