Михаил Усоцкий, Что показывает менеджер задач в это время? Может что-то другое отъедает процессор.
Загляните в event viewer, возможно есть какие-то ошибки системы. Например, может диск потихоньку умирает, от этого могут быть тормоза.
Кстати, другой софт как себя ведет на этом компе?
На сколько я помню матлаб не требует предустановленной Javы - она у него есть своя в комплекте.
С подобным поведением матлаба не сталкивался.
Возможно что-то мешает работе матлаба. Может быть антивирус. Может проц слабый для матлаба или памяти мало. Все таки это довольно прожорливый софт.
Добавлю от себя:
Все же не стоит отключать UAC, это полезная штука в плане безопасности пользования системой. Давите ваше желание работать всегда с админскими правами - в 99% времени вам они не нужны.
В линуксах давно уже отключают rootа, а что бы получить rootовые права нужно запускать программы из-под sudo. Такое поведение - практически аналог работы UACа.
Так что это устоявшаяся практика в большинстве современных ОС.
Согласен, но есть нюансы:
В Qt лицензирование идет по модулям (или компонентам), не помню уже как в Qt эти вещи называются. А не целиком на библиотеку.
Часть модулей лицензированы под LGPL, другие под GPL, а третьи вообще проприетарные.
Если хочется бесплатно и не открывать коды, то нужно использовать только LGPL модули с динамической линковкой.
Если готовы открыть коды, то годятся LGPL и GPL и любая линковка. Кстати, коды, открываются только легальным пользователям, т.е. тому кто купил у вас ПО. Обычным "смертным", не купившим ПО, можно ничего не открывать.
Если не хотите открывать коды и нужны GPL или платные модули, то придется покупать.
На сайте Qt в документации по каждому модулю нужно смотреть его лицензию.
Наиболее широко применяемые для GUI модули лицензируются под LGPL.
Денис Ахунов, Кстати, похоже UTF8 в консоли Вин10 починили. Прогресс не стоит на месте :)
Но это не отменяет моих рекомендаций по поводу того, что менять кодировку консоли из программы - это плохо. А так же не отменяет того, что по умолчанию в консоли используется кодировка cp866.
Консоль не нужно в UTF8. cmd.exe с давних пор не дружит с UTF8 (знаю про это еще со времен WinXP). Не в том смысле, что не может туда выводить текст, а в том, что в этой кодировке она перестает нормально работать, т.е. не выполняет введенные команды и т.п. На сколько помню в Вин10 это так и не починили, хотя я давно уже не интересовался.
Поэтому ваш вариант в консоли либо 1251, либо 866.
как это сделать?
А оно вам нужно? У вас же
Вроде как всё работает
.
Как сделать уже было написано выше.
Узнать кодировку консоли GetConsoleCP, перекодировать MultiByteToWideChar. В общем идите в MSDN, там по Windows Console API целый раздел есть.
А исходники, оставляйте в UTF8. Для хранения UTF8 используйте wchar_t* или (wstring и т.п.). Когда строка перекодируется из UTF8 в 1251, то она становится char* или string.
Денис Ахунов, Почему бы ему и не работать. Для тестовой задачи или лабы может и сгодится.
Хотя все будет зависеть от того как будет использоваться приложение.
Суть в том, что так вы меняете настройки внешнего окружения (кодировку консоли). Но само внешнее окружение может быть не готово работать с вашей кодировкой.
Например если входные данные будут подаваться в приложение из файла с помощью перенаправления стандартного ввода, а файл будет в другой кодировке (например в cp866), то SetConsoleCP(1251) не приведет к перекодировке файла и вы прочитаете данные в неправильной кодировке и все опять развалится.
Кроме того менять настройки консоли из программы - создавать дополнительные проблемы пользователям программы. Например вы пишете какую-то утилиту командной строки, которую наверняка будут использовать для автоматизации чего-либо во внешних скриптах и т.п. Писатель скриптов планирует везде использовать подходящую для него кодировку, а вы принудительно в своей утилите используете 1251, пользователю придется предпринимать какие-то дополнительные действия, чтобы использовать вашу программу.
Правильный подход - узнать текущую кодировку консоли и перекодировать весь ввод и вывод в эту кодировку.
Это все лирические отступления, чтоб вы осознали глубину проблемы :-)
Дмитрий Павлов, Надо было дать эту ссылку, гораздо полезней. Денис Ахунов, Лично я за последний вариант, который описан по ссылке выше (перекодировка).
Но если у вас какой-то учебный проект и не хочется запариваться с перекодировкой, то можно использовать "Самый простой (и самый неудобный) способ" по ссылке выше. Кстати, не понятно, что особо не удобного автор нашел в этом способе.
PS: WinAPI не ограничивается только описанными в статье функциями перекодировки, я бы предложил использовать более универсальный вариант: MultiByteToWideChar и ее двойника WideCharToMultiByte/
Mercury13, Добавление отладочной информации только раздувает размер исполняемого файла, на код не влияет. Часто полезно оставлять отладочную информацию. Например в случае core dump в линуксе - можно больше информации получить в gdb, не имея исходников. Видел много достаточно крупных проектов, у которых -g используется в релизе.
Можно, конечно. Только это не избавляет от самого switchа.
В моем предложении вместо свича, остается что-то типа table_func[op](args)
В принципе это с натяжкой можно считать некоей вариацией паттерна стратегия в процедурном стиле.
Можете функции заменить на классы, с общим интерфейсом и точно так же вызывать метод класса, роли это не играет.
dminster94, Надо не просто прокси сделать, а анонимизирующий прокси. Не знаю как это делать, никогда не было нужды в этом.
Обычный прокси сделать легко, есть свободное ПО. Можно например squid поднять, настройка там не сильно сложная, мануалов полно в инете. Вроде squid умеет деанонимизацию, но это надо вникать. Я давно уже не держал в руках его.
dminster94, Не увидел, что Hola использует ipsec. На сколько я понимаю - это просто прокси. Видимо они кроме проксирования еще делают некоторую анонимизацию веб трафика.
Бесплатная версия ничего не шифрует. Шифрование есть только в Hola Premium за деньги. Но шифрование само по себе это еще не ВПН.
Вообще для использования ipsec вообще ничего не надо ставить - во всех современных ОС ipsec поддерживается из коробки, даже в Windows Home. Нужно только правильно настроить. Но ручная настройка его достаточно утомительное занятие.
Загляните в event viewer, возможно есть какие-то ошибки системы. Например, может диск потихоньку умирает, от этого могут быть тормоза.
Кстати, другой софт как себя ведет на этом компе?