LINUX.ORG.RU

программирование ПО на Linux под Windows


0

0

Привет.

из-за некоторых обстоятельств, мне пришлость установить Ubuntu на свой компьютер, и снести Windows с него (пару дней назад)(т.е. я практически не знаком c Linux). я учусь в университете, и мне приходиться писать много программ. к примеру, реализовать метод Гаусса программно, и неважно на каком языке и среды. в университете в комьютерных классах установлен Windows.

И мне нужно научиться писать программы (консольные, оконные) на Linux, и затем эти программы исполнять на Windows. Подскажите, пожалуйста, на чем мне программировать, в какой среде, на каком языке, ...

Может решение в платформо-независемом программирование... (только как??????)

(Знаком с языками С++, С#, Delphi)

P.S. Надеюсь, что вопрос написал понятно. и ещё я не спец. по программированию, по компьютерам, наверное я чайник


Используй С++ и QtCreator (есть на обоих платформах). Компилятор под винду minigw.

Zodd ★★★★★
()

Я когда был в такой ситуации стал писать все курсовые на жаве. Но тут сам смотри, насколько тебе срочно и сможешь ли ты освоить жаву на достаточном уровне до следующей сдачи.

tim239 ★★
()

Есть есчё и cyqwin, код написанный под него, обычно работает так же и на юнихподобных.

SV0L0CH
()
Ответ на: комментарий от omron3

mingw - компилятор
c++ - язык
qt - тулкит
qtcreator - ide
или попробуй Lazarus (синтаксис вроде дельфишный)
да прибудет с тобой гугл, консоль и aptitude search && install

snoopcat ★★★★★
()

С++ - можно использовать GTK+, Qt, wxWidgets, они обеспечивают platform independency на уровне исходного кода (если явно не использовать platform specific вещи).

Delphi - смотри Lazarus, тоже самое, platform independency на уровне исходного кода.

С# - смотри Mono, независимость уже не только на уровне исходников (теоретически). При этом можно использовать как Windows Forms, так и GTK#.

www.gtk.org

http://qt.nokia.com

www.wxwidgets.org

http://www.lazarus.freepascal.org/

www.mono-project.com

runtime ★★★★
()
Ответ на: комментарий от runtime

PS: во всех случаях, за исключением C#, придёться разобраться с кросскомпиляцией (если у тебя вообще нет доступа к винде).

runtime ★★★★
()
Ответ на: комментарий от tim239

да, сроки поджимают. вдруг я смогу освоить джаву. может подскажешь с чего начать то. т.е. как я понимаю мне нужно установить среду программирования для джава, какую нибуть на Линуксе.Затем написать код программы на джава, затем откомпилировать. и полученный исполняемый файл я спокойно в виндоусе могу запустить.

omron3
() автор топика
Ответ на: комментарий от runtime

>PS: во всех случаях, за исключением C#

Про жаву забыли! ТС, если универе стоит JRE (а если не стоит, то можно попробовать договориться поставить), то твоим программам на жаве даже перекомпиляция не нужна будет.

tim239 ★★
()
Ответ на: комментарий от runtime

PPS: это, конечно же, если тебе нужны именно эти языки. Если нет, то можно как минимум ещё упомянуть Java, Python, Perl.

runtime ★★★★
()
Ответ на: комментарий от omron3

> вдруг я смогу освоить джаву.

Если знаешь C#, то это займёт около недели.

может подскажешь с чего начать то.

Купи/скачай книгу по Java

как я понимаю мне нужно установить среду программирования для джава

Да, например, NetBeans

Затем написать код программы на джава, затем откомпилировать. и полученный исполняемый файл я спокойно в виндоусе могу запустить.

Не вдаваясь в нюансы - да

runtime ★★★★
()
Ответ на: комментарий от runtime

Немножко вдаваясь в нюансы - в винде должно быть установлено JRE для запуска жава-программ. Для того, чтобы можно было по-быстрому что-то пересобрать - должен стоять JDK (то же самое что JRE + компилятор).

tim239 ★★
()

>(Знаком с языками С++, С#, Delphi)

Познакомься с питоном. Если там не стрелять себе в ноги (это сложно), то он абсолютно кроссплатформенный. Биндинги к всяким кутям и wx есть. Также есть numpy для любителей считать.

anonymous
()

Как вариант для кросскомпиляции: поставь wine, а на него какой-нибудь mingw. Будет тебе exe файл (прости господи).

Короче если тебе с графикой - то либо джава, либо Qt. Можно ещё попробовать wxWidgets, но их осваивать кажеться дольше чем Qt.

nanoo_linux
()

C, GTK - работает и тут, и там.

А вообще и под винду, и под линакс есть Squeak. Тут даже пересобирать ничего не придется - просто носишь образ со своими наработками на флешке и открываешь его одинаково как тут, так и там.

yoghurt ★★★★★
()

М-да... У топикстартера - впечатляющий уровень владения русским языком. Растет специалист...

atiyakkha
()
Ответ на: комментарий от yoghurt

>А вообще и под винду, и под линакс есть Squeak. Тут даже пересобирать ничего не придется - просто носишь образ со своими наработками на флешке и открываешь его одинаково как тут, так и там.

Только никто не знаком со smalltalk, потому ни преподаватель не сможет проверить, ни автор не сможет ничего написать.

anonymous
()

А нафиг бинарники с собой таскать и где-то запускать? Тем более нормальный преподаватель не примет прогу в бинарниках.

Reset ★★★★★
()
Ответ на: комментарий от yoghurt

А вообще и под винду, и под линакс есть Squeak. Тут даже пересобирать ничего не придется - просто носишь образ со своими наработками на флешке и открываешь его одинаково как тут, так и там.

линакс - это такой препарат? Или новая версия вайндоус?

nanoo_linux
()
Ответ на: комментарий от Reset

У меня например нормальный препод по методам оптимизации принимал прогу по графику, который она строила. А если предмет - язык программирования, то тут и нет особо выбора.

tim239 ★★
()
Ответ на: комментарий от tim239

А где гарантия, что это твоя прога? Одно из условий сдачи должно быть внесение незначительных изменений в программу прям в классе. Не смог внести изменения - прога не твоя.

Reset ★★★★★
()
Ответ на: комментарий от tim239

>У меня например нормальный препод по методам оптимизации принимал прогу по графику, который она строила. А если предмет - язык программирования, то тут и нет особо выбора.

Как минимум препод, если он нормальный, и предмет - программирование, должен заглянуть в исходники и посмотреть в общем. И чего-нить ещё для приличия спросить, мол, как оно работает. Если так не делать, то студенты будут приносить проги, выводящие на экран картинки из фотошопа.

anonymous
()
Ответ на: комментарий от Reset

>А где гарантия, что это твоя прога?

Там у всех были разные задания, у каждого - комбинация из трех методов для нахождения экстремального значения функции в заданной области. Непонятно, как этот график должен был выглядеть. И он спрашивал, как эти методы реализовать, сколько где итераций, какие критерии остановки - вот тут если сам не написал - поплывешь. А изменения можно и в чужую прогу внести, тоже не 100% критерий.

tim239 ★★
()

Глобальных вариантов 3.
1) C# / Mono. Нельзя будет использовать последние фишки последнего дотнета, и надо будет аккуратнее смотреть на переносимость. Желательно использовать GTK#, тк менее глючен он, чем WinForms
2) C++ + тулкиты. Тулкитов много, про них уже говорили здесь: GTK, Qt, Wx, еще куча есть
3) Выучить новый язык: Perl, Python, Ruby из скриптовых, различные языки для JVM: Java, Closure. Совет экспертов: можно выучить Haskell и Common LISP, оба языка имеют нормальные компиляторы и под венду, и под линукс.

// PS: еще была какая-то дельфя под линукс, kylix что-ли? Но её трогать не стоит, ИМХО.

oh
()
Ответ на: комментарий от oh

>// PS: еще была какая-то дельфя под линукс, kylix что-ли? Но её трогать не стоит, ИМХО.

kylix умер много лет назад. Есть lazarus, он как раз вполне нормальная реализация object pascal, кроссплатформенный итд. Правда, когда я последний раз его пробовал, он глючил, тупил и падал.

anonymous
()
Ответ на: комментарий от anonymous

Препод был отличный, предмет - не программирование. В фотошопе такой график - никак не нарисовать =( он сразу видел даже если конкретный метод не точно был применен. Писать можно было на чем угодно, не уверен что препод знал все языки программирования, на которых ему сдавали.

tim239 ★★
()

если знаешь C#, то считай, что половину синтакиса явы ты знаешь :) Для простеньких курсовых изучить java на достаточном уровне не так уж и сложно. И выполняться будет без перекомпиляции везде, где есть JRE.

А еще можно сделать приложение на J2ME и показывать свои курсовые прямо на мобильнике )

drakmail ★★★★
()

Мне кажется, не парить мозг и использовать Qt. На всех платформах будет быстро, нативно, мало по размерам. Во всех остальных вариантах GUI будет отвратительным, как минимум, на одной платформе (гтк — на винде, винформс — в линуксе, свинг — везде).

RealSiberianMan
()
Ответ на: комментарий от oh

Глупость. Вон, пиджин, например, плохо выглядит чтоли?

Это не глупость, я просто придирчив к интерфейсам.

RealSiberianMan
()

Я в такой ситуации использовал VS6 MSCL из емакса + wine. Все было Ок, кроме некоторой части cryptoapi, но то такое, не всегда надо

vasily_pupkin ★★★★★
()
Ответ на: Вслушайся от yoghurt

Вслушайся

линакс - это такой препарат? Или новая версия вайндоус?

http://www.paul.sladen.org/pronunciation/

Извини, но ты не прав. Возьми вот эту запись (которую я впервые лет 10 назад улсышал) открой в аудасити уменьши скорость на 40% и убери шумы.

Вслушайся!

Я серьёзно, вслушайся!

Но в целом это конечно твое дело как ты будешь называть линукс, хуже ему от этого не будет.

nanoo_linux
()
Ответ на: комментарий от vasily_pupkin

>Я в такой ситуации использовал VS6 MSCL из емакса + wine.

Конкретно WinAPIшные функции (окна там всякие) тоже без траблов работали?

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Это сейчас прямо как про все в Linux. Задумайся над вопросом: «почему в Qt ничего осиливать на эту тему было не нужно?». Но я понимаю, проще поорать бред про «не осилил», чем сделать мир лучше.

PayableOnDeath
()

Отлаживать всё равно на винде придётся.

Пишите на C++ платформо-независимо, а компилить финальную версию лучше попросить друга.

И перед сдачей - тоже желательно скомпелировать на машине, на которой сдавать будете: у винды не полная совместимость даже на уровне сервис паков...

helios ★★★★★
()
Ответ на: комментарий от PayableOnDeath

>почему в Qt ничего осиливать на эту тему было не нужно?

В GTK, вообще-то, тоже. Выглядят они под виндой в равной степени неоднородно

чем сделать мир лучше

Поверь мне, это бестолковое занятие =)

yoghurt ★★★★★
()

Может решение в платформо-независемом программирование... (только как??????)

Да элементарно, качаешь http://qt.nokia.com/downloads/downloads#lgpl платформо-независимое программирование должно тебе казаться обычным делом, а вот программы только под windows должны удивлять «как же так, неужели они настолько глупы что написали программу под одну ОС когда могли под все сразу» - во как!.. :)

I-Love-Microsoft ★★★★★
()

И, кстати, в догонку, вот я дал ссылку на Qt SDK... Я ставил Qt SDK для windows прямо под Linux при помощи wine - и таким образом мог компилировать и отлаживать программы для windows прямо под Ubuntu. Это на случай если тебе потребуется тестировать программу под винду...

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Если вариант Java - ставишь Clojure, идешь на YouTube смотреть CS 61A, потом уже смотришь CS 61B и пишешь на джаве.

zahardzhan
()

Qt + QtCreator. Поскольку ты с C++ знаком - есть шансы освоить базовый уровень ну в очень короткие сроки.

З.Ы. Сам писал лабы и курсовые на Qt.

Chaser_Andrey ★★★★★
()

С кросскомпиляцией запариваться точно не стоит — пиши на плюсах и компили на кафедре или принеси с собой DevC++.

Я смотрю, тут советуют много разных инструментов. Может, я что-то пропустил, но не забудь убедиться в наличии их на целевом компьютере. Вряд ли кто-то позволит устанавливать своё.

unnamed
()
Ответ на: комментарий от unnamed

Статическая линковка? Или просто библиотеки положить в каталог, если речь про тулкиты идет.

oh
()

Если совесть позволяет напрочь отвлечься от родных сишных функций, юзай Qt, фреймворк просто шикарный :) Под винды собирать с помощью mingw с хедерами visual c++ (дерни из студии экспресс), родной билд собирать для отладки, а на вайне гонять окончательные тесты. Гемора минимум.

Bad_Habit
()
Ответ на: комментарий от unnamed

С кросскомпиляцией запариваться точно не стоит — пиши на плюсах и компили на кафедре или принеси с собой DevC++.

Запариваться с кросскомпиляцией??? Да это же смешного просто. Не надо с ней запариваться, просто ставится Qt SDK под WINE (http://www.winehq.org) и компилится бинарник 1 в 1 такой же как на винде + отлаживаться можно тут же.

I-Love-Microsoft ★★★★★
()

Если знаком с дельфями - тебе подойдет Lazarus

ravenlord
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.