Popen и прочее |
Здравствуйте, гость ( Вход | Регистрация )
Popen и прочее |
AndreyR |
30.1.2011, 0:09
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 29.1.2011 Пользователь №: 2376 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте. Пишу первую программу на Qt. Точнее, переношу с C++. В проге на C++ используются разные операции, такие как чтение/запись файла, выполнение консольных команд с помощью popen. Подскажите пожалуйста, можно ли использовать уже имеющиеся конструкции C++, или имеет смысл все эти операции переписать с использованием средств Qt? Имеет ли этот момент принципиальное значение для переносимости программы? И еще попутно хотел спросить, нужно ли использовать типы данных Qt (qint, QString) или можно оставить сишные?
|
|
|
maint |
30.1.2011, 6:50
Сообщение
#2
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
Здравствуйте. Пишу первую программу на Qt. Точнее, переношу с C++. В проге на C++ используются разные операции, такие как чтение/запись файла, выполнение консольных команд с помощью popen. Подскажите пожалуйста, можно ли использовать уже имеющиеся конструкции C++, или имеет смысл все эти операции переписать с использованием средств Qt? Имеет ли этот момент принципиальное значение для переносимости программы? И еще попутно хотел спросить, нужно ли использовать типы данных Qt (qint, QString) или можно оставить сишные? QT это всего лишь библиотека. Так что можно оставить все как есть, если компилятор позволит. И то если использовались экзотические изобретения M$ или Borland, то может и кое что переписать надо. Сообщение отредактировал maint - 30.1.2011, 6:51 |
|
|
AndreyR |
30.1.2011, 16:03
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 29.1.2011 Пользователь №: 2376 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ясно. Тут я забыл пояснить, что пишу linux-программу. И в идеале должна получиться программа, которая будет работать без перекомпиляции на разных дистрибутивах linux. То есть, чтобы можно было скопировать прогу на компьютер и тут же запустить без всяких дополнительных манипуляций. Я подумал, что в Qt есть много разнообразных средств, заменяющих стандартные конструкции C++, именно для того, чтобы можно было переносить программу с одного компьютера на другой без перекомпиляции. А если испольовать стандартные средства C++, может появиться необходимость перекомпилировать программу на каждом компьютере заново. Я правильно понял?
Просто этот момент (возможность свободно запускать собранный бинарник на разных компьютерах без пересборки) мне очень важен. Извините, если чего-то не догоняю. |
|
|
maint |
30.1.2011, 16:14
Сообщение
#4
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
Ясно. Тут я забыл пояснить, что пишу linux-программу. И в идеале должна получиться программа, которая будет работать без перекомпиляции на разных дистрибутивах linux. То есть, чтобы можно было скопировать прогу на компьютер и тут же запустить без всяких дополнительных манипуляций. Я подумал, что в Qt есть много разнообразных средств, заменяющих стандартные конструкции C++, именно для того, чтобы можно было переносить программу с одного компьютера на другой без перекомпиляции. А если испольовать стандартные средства C++, может появиться необходимость перекомпилировать программу на каждом компьютере заново. Я правильно понял? Просто этот момент (возможность свободно запускать собранный бинарник на разных компьютерах без пересборки) мне очень важен. Извините, если чего-то не догоняю. тогда просто надо собрать программу, как статическую. И Qt тут вообще никаким боком. Ключевое слово при сборке программы -static. Это флаг компилятора и линкера. По идее все что нужно будет упаковано в один исполняемый файл. Размер должен быть приличным. Только так. А конструкции языка пофиг для бинарника-исполнимого файла. Сообщение отредактировал maint - 30.1.2011, 16:15 |
|
|
AndreyR |
30.1.2011, 16:35
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 29.1.2011 Пользователь №: 2376 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо! Qt я как раз настроил на статическую сборку. Файл получается метров около 15. Ну да это не столь важно в данном случае.
Собственно Qt я использую ради графического интерфейса Просто даже интересно, для чего разработчики включили в Qt разнообразные конструкции, дублирующие функциональность C++? |
|
|
maint |
30.1.2011, 16:53
Сообщение
#6
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
Спасибо! Qt я как раз настроил на статическую сборку. Файл получается метров около 15. Ну да это не столь важно в данном случае. Собственно Qt я использую ради графического интерфейса Просто даже интересно, для чего разработчики включили в Qt разнообразные конструкции, дублирующие функциональность C++? там не дубляж, а более широкие возможности. Если посмотреть QString то видно, что String стандартная, так мелочевка, ничего не значащий пустячек. А QString преобразования кодировок, проверки и пр. мелкие приятности, которых не могло даже буть задумано в C++. О графике я уже не говорю. Для нее много чего было введено. ПРичем для кроссплатформенной. Разные системы, машины,устройства Сообщение отредактировал maint - 30.1.2011, 16:55 |
|
|
AndreyR |
30.1.2011, 16:54
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 29.1.2011 Пользователь №: 2376 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ага. Понятно
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 0:11 |