crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> 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


Участник
**

Группа: Участник
Сообщений: 233
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(AndreyR @ 30.1.2011, 5:09) *
Здравствуйте. Пишу первую программу на 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


Участник
**

Группа: Участник
Сообщений: 233
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(AndreyR @ 30.1.2011, 21:03) *
Ясно. Тут я забыл пояснить, что пишу 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


Участник
**

Группа: Участник
Сообщений: 233
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(AndreyR @ 30.1.2011, 21:35) *
Спасибо! 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  


Ага. Понятно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.5.2019, 6:09