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

Turbo C++ реализовать для программы многоплатформенность - C++

Восстановить пароль Регистрация
 
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 437
28.09.2012, 07:47     Turbo C++ реализовать для программы многоплатформенность #1
Всем доброго времени суток. У меня....наверное вам покажется довольно глупый вопрос, но тем не менее. Скажите пожалуйста, можно ли в винде, на IDE Turbo C++ реализовать для программы многоплатформенность, в частности, что бы она открывалась на linux, на macOS, на windows (требование к курсовой работе). Просто у меня сейчас проблемы с интернетом, и достать другую IDE у меня нету возможности, вот я и беспокоюсь, стоит ли мне суетиться по поводу того, что нужно искать другую IDE или это можно сделать в этой? Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2012, 07:47     Turbo C++ реализовать для программы многоплатформенность
Посмотрите здесь:

C++ Реализовать односвязный список для хранения
C++ Как реализовать регистрацию программы?
Составить программы для перевода арабских чисел в римские и для обратной операции C++
Как задать свои иконки для панели задач и для программы в папке? C++
C++ Доработка программы: реализовать возможность работы с шестнадцатеричными числами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
28.09.2012, 08:16     Turbo C++ реализовать для программы многоплатформенность #2
Это можно сделать в любой IDE. Нужно знать стандарт языка, не более. То есть просто не использовать нестандартные расширения IDE/компилятора, и учитывать различные поведения на различных платформах некоторых функций.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
28.09.2012, 08:28     Turbo C++ реализовать для программы многоплатформенность #3
По-моему вопрос немного не о том.
У человека есть единственная IDE, и та под DOS. Он хочет на ней получить бинарник, запускающийся сразу на всех операционных системах.
Не получится :-)
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 437
28.09.2012, 08:39  [ТС]     Turbo C++ реализовать для программы многоплатформенность #4
Цитата Сообщение от Герц Посмотреть сообщение
По-моему вопрос немного не о том.
У человека есть единственная IDE, и та под DOS. Он хочет на ней получить бинарник, запускающийся сразу на всех операционных системах.
Не получится :-)
А как нужно тогда сделать? подскажите пожалуйста)
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
28.09.2012, 09:06     Turbo C++ реализовать для программы многоплатформенность #5
Возможно ты не правильно понял задание. Кросспалтформенность обычно означает, что исходник без каких-либо изменений можно скомпилировать на любой ОС (это для языков, компилируемых в инструкции процессора, в Java например перекомпиляция под другую платформу не нужна).
А сделать исполняемый файл под разные платформы не возможно, потому что форматы файлов разные (в винде формат PE, а в линуксе ELF, в маке вообще приложение это папка, формат самого бинариника не знаю). Уточни задание, возможно Toshkarik уже ответил на твой вопрос.
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 437
28.09.2012, 09:15  [ТС]     Turbo C++ реализовать для программы многоплатформенность #6
Цитата Сообщение от Kastaneda Посмотреть сообщение
Возможно ты не правильно понял задание. Кросспалтформенность обычно означает, что исходник без каких-либо изменений можно скомпилировать на любой ОС (это для языков, компилируемых в инструкции процессора, в Java например перекомпиляция под другую платформу не нужна).
Я не неправильно понял задание, я не правильно его описал здесь, т.к. ввёл вас в зоблуждение))) вот мне нужно именно "скомпилировать на любой ОС", да. Т.е я без проблем могу написать код (со всеми правилами кросплатформенности) в turbo c++ который у меня на windows, потом этот же код взять и скомпилировать на другой ОС, например линукс и программа будет работать, я правильно понял?
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
28.09.2012, 09:58     Turbo C++ реализовать для программы многоплатформенность #7
Зависит от того, что ты пишешь. Если ты там каким-нибудь боком используешь хедеры типа windows.h - не получится перекомпилировать на любой платформе без создания слоя абстракции.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
28.09.2012, 10:05     Turbo C++ реализовать для программы многоплатформенность #8
Цитата Сообщение от skorik-1992 Посмотреть сообщение
Т.е я без проблем могу написать код (со всеми правилами кросплатформенности) в turbo c++ который у меня на windows, потом этот же код взять и скомпилировать на другой ОС, например линукс и программа будет работать, я правильно понял?
Вот тут небольшая засада. Дело в том, что Turbo C++ не актуальный компилятор, он не поддерживает текущего (или хотя бы предыдущего) стандарта С++. Т.е. "Hello World" на нем будет выглядет так:
C++
1
2
3
4
5
6
7
#include <iostream.h>
 
int main()
{
    cout << "Hello, World" << endl;
    return 0;
}
Такой код не скомпилируется в текущей версии G++ (компилятор под Linux и MacOS), нужно будет изменить его под новый стандарт (новый относительно Turbo C++, т.е. 2003г).
C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
 
int main()
{
    cout << "Hello, World" << endl;
    return 0;
}
поэтому советую все же скачать актуальный компилятор С++.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
28.09.2012, 10:12     Turbo C++ реализовать для программы многоплатформенность #9
G++ (компилятор под Linux и MacOS)
На маке используется LLVM бэкенд, от g++ там остался только фронтенд в виде парсера, и то не всегда, есть ведь еще clang, который продвигает Apple.
Kastaneda
28.09.2012, 12:40
  #10

Не по теме:

Цитата Сообщение от Герц Посмотреть сообщение
На маке используется LLVM бэкенд, от g++ там остался только фронтенд в виде парсера, и то не всегда, есть ведь еще clang, который продвигает Apple.
Возможно. Я под маком совсем мало работал и, насколько я помню, использовал gcc.

dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 437
28.09.2012, 12:58  [ТС]     Turbo C++ реализовать для программы многоплатформенность #11
Цитата Сообщение от Kastaneda Посмотреть сообщение
Вот тут небольшая засада. Дело в том, что Turbo C++ не актуальный компилятор, он не поддерживает текущего (или хотя бы предыдущего) стандарта С++. Т.е. "Hello World" на нем будет выглядет так:
C++
1
2
3
4
5
6
7
#include <iostream.h>
 
int main()
{
    cout << "Hello, World" << endl;
    return 0;
}
Такой код не скомпилируется в текущей версии G++ (компилятор под Linux и MacOS), нужно будет изменить его под новый стандарт (новый относительно Turbo C++, т.е. 2003г).
C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
 
int main()
{
    cout << "Hello, World" << endl;
    return 0;
}
поэтому советую все же скачать актуальный компилятор С++.
Ох, я понял, спасибо вам большое. И на последок, не могли бы вы пожалуйста подсказать что-нибудь конкретное? Мне так же ещё необходимо установить линукс, может лучше для него уже искать среду разработки или разницы нету на какой ОС программировать для кросплатформенности?

И к слову, кстати вот если брать пример, который вы мне описали, то я пишу не #include <iostream.h>, а #include <iostream>, но если подключать библиотеку cmatch, то приходится писать <match.h>, а это я так понимаю старый стандарт.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
28.09.2012, 13:05     Turbo C++ реализовать для программы многоплатформенность #12
А есть причины, по которой тебе нужна какая-то среда? Ведь основное что нужно тебе - это компилятор.
Под Windows - MinGW я бы скачал, под никсы и макось - gcc/clang.
В качестве среды на трех платформах (Win, Linux, MacOS) использую Sublime Text 2 :-)
И к слову, кстати вот если брать пример, который вы мне описали, то я пишу не #include <iostream.h>, а #include <iostream>, но если подключать библиотеку cmatch, то приходится писать <match.h>, а это я так понимаю старый стандарт.
Не могу сказать в каком именно стандарте, но все C-заголовочный файлы <header.h> были перенесены в соответствующие <cheader> с внесением всего содержимого в пространство имен std. Так что cmath это просто обертка над math.h, внутри cmath подключается math.h и совершаются еще некоторые телодвижения.
В современных компиляторах можно подключать и cmath, и math.h, но первый предпочтительнее.
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 437
28.09.2012, 13:20  [ТС]     Turbo C++ реализовать для программы многоплатформенность #13
Цитата Сообщение от Герц Посмотреть сообщение
А есть причины, по которой тебе нужна какая-то среда?
Да, есть. Мне нужно реализовать так же графический интерфейс для программы.
Блин, я наверное много глупых вопросов задаю, просто я только перевёлся в другой универ, а тут программирование проходят на c/c++, а я до этого работал только в pascal и delphi и соответствено реализовывал GUI только в IDE, по другому не умею. А нам, сразу же, на первой паре программирования сказали о том, что будет курсовой проект, и требования к нему - многоплатформенность и GUI, вот я и пытаюсь сейчас разобраться на чем мне работать, чтобы всё это реализовать.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
28.09.2012, 13:42     Turbo C++ реализовать для программы многоплатформенность #14
Цитата Сообщение от skorik-1992 Посмотреть сообщение
многоплатформенность и GUI
Это требования для одной программы? Потому что для GUI придется использовать что-нибудь типа Qt.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.09.2012, 14:15     Turbo C++ реализовать для программы многоплатформенность #15
Цитата Сообщение от skorik-1992 Посмотреть сообщение
ещё необходимо установить линукс, может лучше для него уже искать среду разработки или разницы нету на какой ОС программировать для кросплатформенности?
Програмировать где без разницы, а компилировать и проверять в работе прийдётся. Есть
дистрибутивы линукс в которых уже есть IDE. Например, в ALT Linux 6.0.1 Desktop их аж четыре: Qt Creator, Code::Blocks, Eclipse, KDevelop. Не совсем понятно, только, как вы собираетесь делать кросплатформенный GUI средствами чистого С++. Код переносимый можно сделать, а вот GUI кросплатформенный... Для этого нужно что-то типа Qt, wxWidgets.

Добавлено через 13 минут
Цитата Сообщение от skorik-1992 Посмотреть сообщение
А нам, сразу же, на первой паре программирования сказали о том, что будет курсовой проект, и требования к нему - многоплатформенность и GUI,
А какими средствами не уточнили? На выбор? Тогда Qt.
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 437
28.09.2012, 16:42  [ТС]     Turbo C++ реализовать для программы многоплатформенность #16
А какими средствами не уточнили? На выбор? Тогда Qt.
Да, преподователь что то об этом говорил, что для реализации надо будет пользоваться чем то....не помню как он это назвал) он перечислил QT, gtk+, FLTK. Но он советовал использовать FLTK, потому-что он проще всего для усвоения.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2012, 17:10     Turbo C++ реализовать для программы многоплатформенность
Еще ссылки по теме:

Реализовать контроль ввода и для цифр, и для букв C++
Составить блок схему для программы упорядочивания чисел в массиве(код программы прилагается) C++
C++ Перевод программы с Turbo Pascal на С++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.09.2012, 17:10     Turbo C++ реализовать для программы многоплатформенность #17
Цитата Сообщение от skorik-1992 Посмотреть сообщение
Да, преподователь что то об этом говорил, что для реализации надо будет пользоваться чем то....не помню как он это назвал) он перечислил QT, gtk+, FLTK. Но он советовал использовать FLTK, потому-что он проще всего для усвоения.
Тут ничего не могу сказать, имел дело только с Qt.
Yandex
Объявления
28.09.2012, 17:10     Turbo C++ реализовать для программы многоплатформенность
Ответ Создать тему
Опции темы

Текущее время: 02:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru