Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

сишка на линуксе? возможно ли?

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [*nix/Linux] >> сишка на линуксе? возможно ли?
Имя
Сообщение << Старые топики   Новые топики >>
сишка на линуксе? возможно ли? - 2009-02-08 00:09:05.146666   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
сразу говорю не ругайте, так как моя идея может показаться бредовой..

есть задача.. надо написать виндовое приложение под линуксом на сишке.. тоесть чтоб на линуксе это приложение работало под вайном и в винде нормально пахало…
но по скольку мне лениво ставить винду а на виртуалке с моим кампом лагает по страшному всё то заинтересовал вопрос еслть ли какие-нибудь языки програмирования (си-подобные) на которых можно в линуксе написать виндовые приложения?
Post #: 1
RE: сишка на линуксе? возможно ли? - 2009-02-08 00:16:53.483333   
gedgeck

Сообщений: 24
Оценки: 0
Присоединился: 2009-01-22 23:16:13.533333
Можно писать кроссплатформенные приложения. Посмотри в сторону Qt и GTK. Еще кажется wxWidgets сюда же. Я юзаю Qt + g++ на линухе и Qt + mingw, чтобы собрать те же исходники под виндой и доволен как слон =)
Post #: 2
RE: сишка на линуксе? возможно ли? - 2009-02-08 00:24:08.930000   
time2die

Сообщений: 222
Оценки: 0
Присоединился: 2007-03-16 12:14:09.526666
mono\java ?
Post #: 3
RE: сишка на линуксе? возможно ли? - 2009-02-08 00:56:15.613333   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
мне надо написать очень простую прогу… и нехочется какбы изучать какойто новый язык… можно ли со знаниями одной сишки написать на Qt ?
Post #: 4
RE: сишка на линуксе? возможно ли? - 2009-02-08 05:24:33.590000   
Bios^слоник^Nielsen

Сообщений: 11
Оценки: 0
Присоединился: 2008-11-29 06:43:51.960000
Qt использует C++
Post #: 5
RE: сишка на линуксе? возможно ли? - 2009-02-08 12:10:46.510000   
gedgeck

Сообщений: 24
Оценки: 0
Присоединился: 2009-01-22 23:16:13.533333
Ну, так как ты указал в вопросе, что "си-подобные" тоже подходят, то я и предложил qt + g++. Написать можно, Qt это не новый язык какой-то, это просто библиотека или фреймворк, она добавляет объекты, а язык естесственно не меняется. Вот ссылка на офсайт: Qt Software. Вот на скачать: Downloads. Для знакомства предлагаю почитать первые главы из книги Бланшетт и Саммерфилд "GUI Programming with Qt4" (можно скачать бесплатно, погугли) или русского перевода (могу выслать, если не найдешь). Потом можно обходиться только документацией, благо она в отличие от многих других либ и фреймворков вменяемая (ИМХО).
Post #: 6
RE: сишка на линуксе? возможно ли? - 2009-02-08 13:42:44.840000   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
спс.. +2
пошол гуглить и качать
Post #: 7
RE: сишка на линуксе? возможно ли? - 2009-02-24 23:22:39.420000   
The Professor

Сообщений: 179
Оценки: 0
Присоединился: 2008-01-04 03:01:42.476666

quote:

ORIGINAL: magistr_bender

есть задача.. надо написать виндовое приложение под линуксом на сишке.. тоесть чтоб на линуксе это приложение работало под вайном и в винде нормально пахало…
Безусловно можно, хотя решение не совсем тривиальное.
Чтобы скомпилировать на Linux-системе приложение, которое будет запускаться на Windows-системе, вам понадобится только кросс-компилятор. А вот чтобы разжиться кросс-компилятором придётся немного потрудиться. Я сам для Windows никогда ничего не компилил (хотя как-то собрал функциональный Linux-HURD кросс-компилятор), поэтому могу дать только общее направление:
1. Кросс-компилятор для нативной Windows:
а) нагуглить готовый;
б) сделать самому (понадобятся хэдеры для Windows)
2. Кросс-компилятор для Cygwin (это эмулятор unix для Windows, в котором всё сводится к cygwin1.dll):
а) нагуглить готовый;
б) собрать свой.
3. Кросс-компилятор для MinGW – аналогично пп. 1 и 2.

Как собрать свой кросс-компилятор? На примере Linux-Cygwin:
1. Выделить место, где будем собирать и где будет "жить" кросс-компилятор (). Его нельзя устанавливать в стандартные места, такие как /usr/bin, /usr/local/bin и т.д., ибо легко затереть что-нибудь нужное. Нужна отдельная директория (cross-compiler)
2. Установить хедеры Cydwin-а в temp-compiler/include
3. Собрать binutils с очень хитрыми ключами
–prefix=[путь]/cross-compiler
–with-lib-path=[путь]/cross-compiler
–host="i686-pc-linux-gnu" # а вообще надо смотреть echo $MACHTYPE
–target="i686-pc-cygwin"
4. Собрать gcc (C-компилятор) с очень хитрыми ключами (используя новый binutils)
–prefix=[путь]/cross-compiler
–with-local-prefix=[путь]/cross-compiler
–host="i686-pc-linux-gnu"
–target="i686-pc-cygwin"
–enable-languages=c
5. Собрать Glibc с очень хитрыми ключами (используя новые binutils и gcc)
BUILD_CC="gcc"
CC="i686-pc-cygwin-gcc"
AR="i686-pc-cygwin-ar"
RANLIB="i686-pc-cygwin-ranlib"
–host=i686-pc-cygwin
–build=i686-pc-linux-gnu
–with-binutils=[путь]/cross-compiler/bin
–with-headers=[путь]/cross-compiler/include
6. Выставить переменные
export CC="i686-pc-cygwin-gcc"
export CXX="i686-pc-cygwin-g++"
export AR="i686-pc-cygwin-ar"
export AS="i686-pc-cygwin-as"
export RANLIB="i686-pc-cygwin-ranlib"
export LD="i686-pc-cygwin-ld"
export STRIP="i686-pc-cygwin-strip"
и собирать всё, что душа пожелает – результат будет запускаться под Windows, при помощи dll-ки от Cygwin.
Post #: 8
RE: сишка на линуксе? возможно ли? - 2009-02-25 07:18:47.390000   
Флуkтуаци

Сообщений: 757
Оценки: 0
Присоединился: 2009-02-24 10:52:16.306666
что за бред?
Qt позволяет создавать кросс-платформенные приложения для Linux, Windows и Macintosh.
Пример - Opera.
Post #: 9
RE: сишка на линуксе? возможно ли? - 2009-02-25 09:32:48.860000   
furiousangel

Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
а gcc разве не позволяет сохдавать PE файлы? Наверняка там есть ключ такой.
Post #: 10
RE: сишка на линуксе? возможно ли? - 2009-02-25 22:30:43.266666   
LynXzp

Сообщений: 307
Оценки: 0
Присоединился: 2007-01-12 23:20:28.196666
quote:

ORIGINAL: Флуkтуаци
что за бред?
Qt позволяет создавать кросс-платформенные приложения для Linux, Windows и Macintosh.
Пример - Opera.
Хм, в зависимостях qt нашел, за то нагуглил:
quote:

Opera has never been based on Qt. Opera developed its own lightweight portability layer, to be able to move to all kinds of platforms, even where no cross platform toolkits are available. Opera for Linux is using Qt the same way as Opera for Windows is using Windows API:s to connect to the platform.
Краткий перевод:
Опера никогда не базировалась на QT. В Linux opera действительно использует QT, но точно так же как и в Widows Opera использует Windows API.
Хотя по сути - использует <-> базируется <-> содержит в себе код QT - разные вещи, но в "базируется" и "использует" мне не понятна разница, наверное это игра английских слов.
Post #: 11
RE: сишка на линуксе? возможно ли? - 2009-02-26 06:10:22.140000   
Флуkтуаци

Сообщений: 757
Оценки: 0
Присоединился: 2009-02-24 10:52:16.306666
ссылку в студию
Post #: 12
RE: сишка на линуксе? возможно ли? - 2009-02-26 19:22:28.450000   
LynXzp

Сообщений: 307
Оценки: 0
Присоединился: 2007-01-12 23:20:28.196666
http://www.google.com/search?hl=ru&client=opera&rls=en&hs=rw3&q=%22Opera+has+never+been+based+on+Qt.+Opera+developed+its+own+lightweight+portability%22&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=
Post #: 13
RE: сишка на линуксе? возможно ли? - 2009-02-26 19:49:35.043333   
Флуkтуаци

Сообщений: 757
Оценки: 0
Присоединился: 2009-02-24 10:52:16.306666
странно
к чему лишний геморрой?
Post #: 14
Страниц:  [1]
Все форумы >> [*nix/Linux] >> сишка на линуксе? возможно ли?







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.