Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2009, 22:14   #11
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
На практически любом нормальном языке можно писать под разные системы. А кроссплатформенность - это когда готовая программа будет работать на разных системах. Сомневаюсь, что программа на C++ под Windows (с её WinAPI) будет работать под Линукс.
Кроссплатформенность лучше всего реализована в виде виртуальных машин (Java, к примеру), но есть и языки, типа, FreePascal, для которого достаточно перекомпилировать программу под другую систему не внося изменений в код (если писать правильно, использйя стандартный набор модулей или производных от них).
Ну естественно скомпилированная по Windows программа не будет работать в Linux. Но если написать что-то типа
Код:
#include <stdio.h>
int main(void)
{
      puts("Hello, World");
      return 0;
}
то оно прекрасно компилируется и под Win и под Linux.
И если пользоваться только стандартными средствами языка (к которым WinAPI НЕ относится), то программы будут компилироваться под разные ОС
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 30.01.2009, 23:08   #12
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Blade
Я про то, что C++ не является кроссплатформенным языком, однако компилировать можно под любую ОС (как и в случае с любым другим нормальным языком).

Последний раз редактировалось Arigato; 30.01.2009 в 23:13.
Arigato вне форума Ответить с цитированием
Старый 31.01.2009, 16:40   #13
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Blade
Я про то, что C++ не является кроссплатформенным языком, однако компилировать можно под любую ОС (как и в случае с любым другим нормальным языком).
Ну почему-же
"избегает таких особенностей, которые зависят от платформы или не являются универсальными." (c)

Все средства языка, определенные стандартом С++, являются универсальными и работают на любой платформе
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 31.01.2009, 19:10   #14
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Blade
Тогда, по Вашему, любой язык (не считая Ассемблера) является кроссплатформенным?
Arigato вне форума Ответить с цитированием
Старый 31.01.2009, 19:30   #15
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Я не могу говорить за любой язык, я могу сказать лишь за те, которые изучал. Вот цитата из википедии:
Цитата:
Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++ и Free Pascal — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. Java и C# — кроссплатформенные языки на уровне выполнения, то есть их исполняемые файлы можно запускать на различных платформах без предварительной перекомпиляции. PHP, Perl, Python, Tcl, и Ruby — кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.
А С и С++ изначально задумывались как кроссплатформенные, именно поэтому, например, в них нет операторов ввода\вывода, как в Паскале
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария

Последний раз редактировалось Blade; 31.01.2009 в 19:33.
Blade вне форума Ответить с цитированием
Старый 31.01.2009, 19:34   #16
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Я Википедию вообще не признаю.
Назвать Free Pascal языком - бред. Это не язык, а компилятор (кросплатформенный).
Но получается, что любой язык, кроме низкоуровневого, является кроссплатформенным, т.к. существуют компиляторы под разные системы. Но это не так. Как написать на C++ оконное приложение, что бы оно успешно компилировалось и под Windows и под Linux и под Windows Mobile и т.д.?
Arigato вне форума Ответить с цитированием
Старый 31.01.2009, 19:46   #17
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Что тогда в Вашем понимании кросплатформенность?
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 31.01.2009, 19:57   #18
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Цитата:
Как написать на C++ оконное приложение, что бы оно успешно компилировалось и под Windows и под Linux и под Windows Mobile и т.д.?
используя библиотеку Qt (под Symbian тоже работает).
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Под прикрытием "кризиса" наши доблестные "управители" хотят утопить нас в радиоактивных отходах mihali4 Свободное общение 1 17.01.2009 01:43
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? An_ton SQL, базы данных 5 16.01.2009 17:55
СПАСИБО модераторам раздела "Общие вопросы Delphi!" ) artemavd Свободное общение 3 04.10.2008 02:44
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Нет в русском языке "ложит", есть - "кладет". mihali4 Свободное общение 25 01.04.2008 11:19