Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
AleksyVB
6 / 6 / 1
Регистрация: 10.12.2013
Сообщений: 135
#1

Переносимость программы, куча dll и кроссплатформенность - C++

08.05.2014, 11:24. Просмотров 890. Ответов 20
Метки нет (Все метки)

Решил пощупать С++ и Qt после C#.

Создал простейшее консольное приложение и оконное Qt. В итоге, что бы приложение открылось вне IDE Qt пришлось скопировать в папку с программой dll для консольного приложения на 1мб+, для оконного на 350мб+.

При переносе приложения на другие компьютеры вместе с этой кучей dll консольное приложение работает, а вот оконное нет, выдает Microsoft Visual C++ Runtime Library - This app has requested the Runtime to terminate it in an unusual way. VC++ redistribut требует?

Если надо таскать dll на 300+ мб то чем это отличается от framework тогда? Наверно их вшить в приложения можно, но в любом случае программа сильно увеличится в размерах.

К тому же, как я правильно понял в идеале надо перекомпилировать программу под каждый процессор и ОС отдельно, причем если для виндуса может быть перенос копи пастом сработать, то для линукса нужно полюбому перекомпилировать программу(что бы она работала без wine), в связи с этим сильно разочаровался, так как под кросплатформенностью я понимал простой перенос программы на любую ОС, на любой проц. Лично проверял, что программы, созданные под .Net спокойно работают в Linux без wine под mono.

В чем преимущество C++ тогда, в быстродействие самой программы на доли секунды, что не будет заметно невооруженном глазом? Низкий уровень не нужен, нужна реализация Gui для сотрудников офисов и т.д.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2014, 11:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переносимость программы, куча dll и кроссплатформенность (C++):

Переносимость программы в семействе windows - C++
Ранее писал программу на visual 2010 и windows 7, затем перешел на visual 2013 и windows 8.1. И теперь выскакивает вот такая ошибка: ...

Отладка программы, куча ошибок - C++
помогите отладить плиз вот задание Определить пользовательский класс в соответствии с вариантом задания. Определить в классе...

C++ и кроссплатформенность - C++
Здравствуйте! есть небольшой код на плюсах, необходимо, чтобы он был кроссплатформенный. Реально ли это? Как это сделать, если у меня...

Кроссплатформенность... - C++
Привет всем! Необходимо написать некое графическое приложение, при этом оно должно быть кроссплатформенными и API-независимым. Как я...

Кроссплатформенность и мультимедиа-библиотеки - C++
Вопрос первый. Решил с другом сделать маленький проект для облегчения обучения английского а именно увеличение словарного запаса. Решили...

Переносимость - C++
Всем доброе время суток! Мне нужно написать программу, которая будет запускаться на любой ОС. как это можно реализовать? Я думаю ее...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
AleksyVB
6 / 6 / 1
Регистрация: 10.12.2013
Сообщений: 135
08.05.2014, 12:09  [ТС] #16
Цитата Сообщение от MastAKK Посмотреть сообщение
Таки Qt и есть framework.
Я не правильно задал вопрос, отличие от .Net, что .Net программа требует наличие .Net Framework (состоящей в том числе из библиотек dll), что Qt программа, то есть С++ gui приложение, требует наличие библиотек. Принципы то понятны, но по сути, в обоих случаях что то требуется, только просто в одном случае создатель .Net коммерческая компания (я так и не доказал себе особо веские преимущества с++ после прочтения нескольких тем в 100 страниц в разделе "Священные войны" для создания прикладных приложений - интерфейсов для БД для малого-среднего бизнеса, не связанного с программированием).

Цитата Сообщение от newbie666 Посмотреть сообщение
ты что сбрендил? :-)
Цитата Сообщение от MastAKK Посмотреть сообщение
вероятно, он полностью скопировал папку с dll
Я копировал те файлы, которые требовала программа, например QT5Guid - 125 мб., без этого файла прога не запускается.
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
08.05.2014, 12:10 #17
Цитата Сообщение от Croessmah Посмотреть сообщение
Не нужно путать нативный код с промежуточным, который будет выполнятся с помощью какой-то платформы.
А это здесь при чём?
0
MastAKK
145 / 136 / 12
Регистрация: 13.10.2012
Сообщений: 587
08.05.2014, 12:17 #18
Цитата Сообщение от taras atavin Посмотреть сообщение
итаниум, RISC и z-8
Я говорил про "популярные" процессора, которые используют большая часть людей сейчас.
Вроде как RISC и z-80 уже не используются, нет? Или я ошибаюсь?

Добавлено через 1 минуту

Не по теме:

Короче, я совсем запутался о теме диалога, пойду свой HDD чинить



Добавлено через 1 минуту
Цитата Сообщение от AleksyVB Посмотреть сообщение
QT5Guid
Так это дебажная либа, скомпильте в релиз.
Ещё можете UPX'ом их сжать, жмёт хорошо.
И вообще, имхо, пока лучше юзать Qt4, если андроид не нужен.
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
08.05.2014, 12:23 #19
Цитата Сообщение от MastAKK Посмотреть сообщение
Я говорил про "популярные" процессора, которые используют большая часть людей сейчас. Вроде как RISC и z-80 уже не используются, нет? Или я ошибаюсь?
Вам растолковать слово "абсолютно"?

Добавлено через 1 минуту
Цитата Сообщение от AleksyVB Посмотреть сообщение
В чем преимущество C++ тогда...? Низкий уровень не нужен,
А он его и не тянет.

Добавлено через 2 минуты
Кстати, гарантии, что кто нибудь не создаст новый процессор RISC-семейства, нет.
0
MastAKK
145 / 136 / 12
Регистрация: 13.10.2012
Сообщений: 587
08.05.2014, 12:27 #20
taras atavin, в посте сказано:
Цитата Сообщение от AleksyVB Посмотреть сообщение
под каждый процессор
Не вижу тут слова "абсолютно"...
На данный момент достаточно скомпилить под определенную платформу и заработает на любом из наиболее используемых (Intel/AMD) процессоров.
На андроиде нужно компилить отдельно под Intel и ARM, но это само собой разумеется.
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
08.05.2014, 12:39 #21
Совместимость некоторых процессоров между собой ни кто как бы не отрицал, но есть два но.
1. Он ведь написал "в идеале". Так вот, старый процессор может не поддерживать некоторых операций нового процессора, их придётся заменять целыми цепочками из нескольких операций, а то и циклами, что будет медленнее. В итоге прога, которую ни кто не перекомпилировал под целевой процессор, или вообще не будет работать на старом камне, или не сможет использовать весь потенциал, заложенный в камень по-новее. Например, если приложение использует данные какой нибудь большой разрядности типа 128-ми бит, то на современных процессорах оно должно будет юзать длинную арифметику, чтоб хоть как то работать, а если в будущем появится 128-ми битный процессор, даже совместимый с АМД64, то в идеале под него всё равно надо перекомпилировать прогу с длинной арифметики на 128-ми битные операции, чтоб увеличить скорость счёта.
2. Прога может быть предназначена и для не совместимых процессоров, например, одновременно для итаниума и AMD64. И придётся отдельно компилировать для windows server 64 бит и отдельно для windows x64. Ему же кросплатформы охота.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2014, 12:39
Привет! Вот еще темы с ответами:

модули.переносимость - C++
модуль в языке СИ? не могу нигде ничего найти про них.может кто-нибудь подскажет в каком учебнике искать или напишет что ЭТО??? и ещё...

Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? - C++
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете искал 64-битные версии ogg.dll, vorbis.dll...

dll программы для поиска Outlook - C++
Privet. Nugen sovet. Pishu installyaziu dlya moey dll, programmka budet iskat' Outlook i kopirovat' v tu ge papku mou dll. Eto v prinzipe...

Взаимодействие cpp-dll и delphi-программы - C++
Есть программа, написанная на делфи, а также две длл: одна на с++, другая на делфи. Программа передает параметр - указатель packed...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.05.2014, 12:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru