|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Что нам помешает писать с этими строками кроссплатформенное ПО? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:38 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav это меньше одного процента работы Ты наверно разницу не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:41 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov petravНо написать короткие функции вокруг QString::fromWCharArray() (и обратно), а потом их вызывать - это меньше одного процента работы. И заодно - просадка быстродействия или задирание системных требований до небес. Офисному ПО отзывчивость интерфейса важна не меньше, чем какой-нибудь стрелялке. Какие требования до небес? Ты о чём? Посмотри сколько сейчас текста на твоём экране, пару килобайт - это максимум. Если из-за преобразования wstring -> QString у тебя ПО начинает тормозить, значит оно спроектировано неправильно. Я уж не говорю, что на твоём экране 99% времени занимает отрисовка графики и всё равно это ноль %% от процессора (графические редакторы не учитываем). Даже когда ты мышкой двигаешь, то постоянная генерация событий занимает на порядки больше времени чем это преобразование. Или ты сидишь за компом времён MS DOS? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:43 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav это меньше одного процента работы Ты наверно разницу не понял. Это ты не понял. Qt - это развитая либа где есть: GUI, сеть, файловая система, поддержка многопоточности, поддержка сети. Ты можешь пользоваться только частью этого функционала. Согласно проектному решению. Платформы это: операционные системы, процессоры, архитектуры вычислительных систем и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:46 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC SharpQt это ПЛАТФОРМА а не ГУИ либа. Ну, изначально это таки библиотека виджетов, причём специфическая, для телефонов. Всё остальное к ней прикрутили уже из-за безысходности, в результате сноуболла. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:48 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Спринг в java было так же. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:50 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav Тему написания логики на Qt - мы уже обсудили. :) Что за вопрос? std::iostream (и прочее) не слышал что ли? Ну а про FILE* слышал? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:51 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Ты можешь пользоваться только частью этого функционала. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:51 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Ну а про FILE* слышал? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:52 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov PetroNotC SharpQt это ПЛАТФОРМА а не ГУИ либа. Ну, изначально это таки библиотека виджетов, причём специфическая, для телефонов. Всё остальное к ней прикрутили уже из-за безысходности, в результате сноуболла. Изначально Qt - это как раз библиотека GUI под дескторы. Нокия их потом купила. Но на мобильном рынке у них не срослось, у Qt. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:53 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav Ну а про FILE* слышал? Что написать? Как с файлами работать в С++? Что там за вопрос то был? Я забыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:55 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Изначально ПостФактум она хорошо делает кроссплатформенность. Это же не гуи. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:56 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav забыл Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:58 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC SharpПостФактум она хорошо делает кроссплатформенность. Это же не гуи. Да. К сожалению, в ней есть и ГУИ, которое её и портит своей кривизной. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:06 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav Изначально ПостФактум она хорошо делает кроссплатформенность. Это же не гуи. Это у тебя абсолютно бессмысленный набор слов. PetroNotC Sharp petrav забыл Код: plaintext 1. 2. 3. 4.
Ты хочешь что бы я переписал это на библиотеку I/O С++? Это полность тривиальный код, который легко пишется и на Си (кроме исключений) и на С++. К тому же он использует класс, которого нет в Qt. И Qt не работает с исключениями, там нет библиотеки типов исключений. Если ты ноль в С++ я сделаю это, но за деньги. Если бы ты был толковым студентом, то при желании я помог бы тебе бесплатно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:07 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav mayton Путь в изоляционизм по прежнему актуален? Говорить о кодировках без локализации - невозможно. Давайте поговорим не о задаче - максимум. А о некотором минимуме ( например - поддержка кириллицы и 3х европейских языков в приложении). И я думаю эту задачу мы решим. Тогда я думаю идеальным будут utf-16 строки: std::wstring и QString. Про суррагатные пары мы забудем. :) Есть, конечно, с wchar_t проблемы, он в Linux четыре байта (нет суррагатных пар?), а в Андроид, вроде бы, один байт. Но и про Андроид забудем, там же Ява рулит. Мне кажется надо сильнее смотреть в будущее. Память хотя и дешевеет но все-же не настолько чтобы embed dbms и кеши укладывались в оперативу без eviction. Везде где можно сэкономить балансируя нагрузку CPU <=> Memory как некий эвристический регулятор - надо этим воспользоваться. Для OpenJDK - это уже прошлое. Разработчики отказались от повсеместного хранения UTF-16 где-то с Java-9. Они сделали просто 2 варианта использования одной и той-же строки. С физических хранением Latin1 и Utf-8 для национальных кодировок. Прикладной API при этом не изменился. Тоесть на совместимость это не влияет. По поводу массивов. Что означает это наше жёсткое непреклонное желание иметь строку массивом символов. Я где-то уже рассуждал на эту тему и пришел к выводу что строка это вообще не array<char> а это stram<char>. И есть интеллектуальный итератор который спокойно эту строку обходит. Те редкие кейсы в которых вам внезапно (!) захотелось получить индексный доступ ко 2 или 3 или N-му элементу строки я готов с вами здесь и сейчас рассмотреть. И убежден что такого кейса на самом деле не существует. Особено в разрезе Dbms/Caches/BigData. Я готов его рассмотреть и я убежден что мы пересмотрим своё отношение к индексатору строку и уберём его как рудимент. В конце концов - stream - экономнее и лаконичнее. Если ваша предметная область разработки связана просто с машинками с ограниченными ресурсами (микроконтроллеры - то здесь я - пас). Я не специалист в них и смыслы и мотивации их оптимизаций мне зачастую непонятны. Как будут и непонятны большинству читающих этот форум. Т.к. программирование под bare-metal железки это сегмент очень редкий и здесь почти не представленый. Sql.ru - ресурс посвященный именно клиент-серверным технологиям в общем понимании этого слова. Вот както так. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:16 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
mayton Что означает это наше жёсткое непреклонное желание иметь строку массивом символов. Я где-то уже рассуждал на эту тему и пришел к выводу что строка это вообще не array<char> а это stram<char>. И есть интеллектуальный итератор который спокойно эту строку обходит. Те редкие кейсы в которых вам внезапно (!) захотелось получить индексный доступ ко 2 или 3 или N-му элементу строки я готов с вами здесь и сейчас рассмотреть. И убежден что такого кейса на самом деле не существует. Особено в разрезе Dbms/Caches/BigData. Я готов его рассмотреть и я убежден что мы пересмотрим своё отношение к индексатору строку и уберём его как рудимент. В конце концов - stream - экономнее и лаконичнее. C++ универсальный язык программирования, а не только Dbms/Caches/BigData. Помогите с простым вопросом(и): как на библиотеке utf8cpp сделать: uppercase, replace и strlen? И где этот интеллектуальный итератор по utf8? Мне действительно нужно манипулировать строками, а не просто выводить их в поток. Я не понимаю почему я должен приводить примеры этих use case. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:35 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Помогите с простым вопросом(и): как на библиотеке utf8cpp сделать: uppercase, replace и strlen? И где этот интеллектуальный итератор по utf8? Мне действительно нужно манипулировать строками, а не просто выводить их в поток. Я не понимаю почему я должен приводить примеры этих use case. Сколько языков и стран вы хотите поддержать в uppercase? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:36 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
mayton petrav Помогите с простым вопросом(и): как на библиотеке utf8cpp сделать: uppercase, replace и strlen? И где этот интеллектуальный итератор по utf8? Мне действительно нужно манипулировать строками, а не просто выводить их в поток. Я не понимаю почему я должен приводить примеры этих use case. Сколько языков и стран вы хотите поддержать в uppercase? Интересный вопрос. Вообще по работе мне нужен английский и русский. Просто мне говорили, что local8bit не рулит. Вот я и спрашиваю, как же перейти на utf8. Мне говорят, мол С++ не работает со строками, а есть супер библиотеки, которые не бросят в сопровождении. Ну вот я и задаю вопросы. Понятно, что если для иероглифа uppercase бессмысленнен, то для этих символов он ничего не должен делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:42 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Хорошо. Пускай будет русский и английский. По сабжу. Я не работал с utf8cpp и понятия не имею о ее возможностях. Но в соотв с принципами декомпозиции. Если мы реализуем такую функцию для 1 символа Код: plaintext 1. 2. 3. 4. 5. 6. 7.
- то мы фактически решили задачу. Нам остаётся только итератор и билдер которые должны быть встроены в любую библиотеку. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:50 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav . К тому же он использует класс, которого нет в Qt. И Qt не работает с исключениями, там нет библиотеки типов исключений. Если ты ноль в С++ я сделаю это, но за деньги. Если ты ноль в Qt то информирую тебя бесплатно. \include\QtCore\QException.h Продолжай выпячивать безграмотность. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:53 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Пр примерам посмотрел. Расчет длины у них есть через итартор. http://utfcpp.sourceforge.net/ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:54 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav C++ универсальный язык программирования, а не только Dbms/Caches/BigData. Спутал с высокоуровневым https://ru.m.wikipedia.org/wiki/Высокоуровневый_язык_программирования ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:55 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
mayton Сколько языков и стран вы хотите поддержать в uppercase? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 15:59 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav . К тому же он использует класс, которого нет в Qt. И Qt не работает с исключениями, там нет библиотеки типов исключений. Если ты ноль в С++ я сделаю это, но за деньги. Если ты ноль в Qt то информирую тебя бесплатно. \include\QtCore\QException.h Продолжай выпячивать безграмотность. Начинается... Exception Safety . Цитата: авторPreliminary warning: Exception safety is not feature complete! Common cases should work, but classes might still leak or even crash. Qt itself will not throw exceptions. Instead, error codes are used. In addition, some classes have user visible error messages И далее? Документация на Qt 5.13. То что они что-то там экспериментально прикрутили, то может я пропустил. Почему я вообще тебе отвечаю? С твоими понтами и вопросами такого уровня? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 16:01 |
|
|
start [/forum/topic.php?fid=57&startmsg=39895649&tid=2017506]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 184ms |
0 / 0 |