LINUX.ORG.RU

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


0

0

Привет.

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

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

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

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

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


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

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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.