*.py->a.out || elf? (Откомпилировать удавовый исходник под executable?)

Модератор: Модераторы разделов

Аватара пользователя
carnivore
Сообщения: 118
ОС: kUbuntu 8.04

*.py->a.out || elf?

Сообщение carnivore »

Можно ли из змеиного исходника сделать исполняемый 'NIX код?И самое главное--как это сделать?
P.S.:А где достать файлы python.h и ruby.h?А то у себя я их не нашел...
#make --not-war love
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: *.py->a.out || elf?

Сообщение elide »

Можно ли из змеиного исходника сделать исполняемый 'NIX код
легко. читай /usr/src/linux/Documentation/binfmt_misc.txt
слава роботам!
Спасибо сказали:
Аватара пользователя
oav
Бывший модератор
Сообщения: 296

Re: *.py->a.out || elf?

Сообщение oav »

elide писал(а):
09.06.2006 14:17
Можно ли из змеиного исходника сделать исполняемый 'NIX код
легко. читай /usr/src/linux/Documentation/binfmt_misc.txt

гыгы, товарищ кажеться просто хочет запрятать сурсы а не запускать питон "типо бы нативно".

по поводу второй части вопроса: "а где бы мне найти cpp.h & java.h" :blink:
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: *.py->a.out || elf?

Сообщение elide »

хрен его знает, чего этому товарищу надо... он написал про "исполняемый 'NIX код", а не про "нативный машинный код для, скажем, x86 совместимых процессоров". вот как сделать так, чтоб Linux мог исполнять питоновский код, я рассказал.

что касается спрятывания сырцов, то тут есть два соображения:
1) если человек хочет прятать сырцы и при этом решает писать на питоне, то у него явно непростые отношения с реальностью.
2) python сам по себе, для пущего быстродействия, компиляет сырцы из *.py в *.pyc
причем делает это так, что хрен чего в этом *.pyc потом можно понять.....
слава роботам!
Спасибо сказали:
Аватара пользователя
carnivore
Сообщения: 118
ОС: kUbuntu 8.04

Re: *.py->a.out || elf?

Сообщение carnivore »

elide писал(а):
09.06.2006 14:54
хрен его знает, чего этому товарищу надо... он написал про "исполняемый 'NIX код", а не про "нативный машинный код для, скажем, x86 совместимых процессоров". вот как сделать так, чтоб Linux мог исполнять питоновский код, я рассказал

Ты все правильно понял.Спасибо!
#make --not-war love
Спасибо сказали:
Аватара пользователя
oav
Бывший модератор
Сообщения: 296

Re: *.py->a.out || elf?

Сообщение oav »

carnivore писал(а):
09.06.2006 15:29
elide писал(а):
09.06.2006 14:54

хрен его знает, чего этому товарищу надо... он написал про "исполняемый 'NIX код", а не про "нативный машинный код для, скажем, x86 совместимых процессоров". вот как сделать так, чтоб Linux мог исполнять питоновский код, я рассказал

Ты все правильно понял.Спасибо!

гы, ну если надо только это, то что мешает в начало файла воткнуть:

#!/usr/bin/python

а потом chmod +x my_prog.py

ыыы?? :rolleyes:
Спасибо сказали:
Аватара пользователя
carnivore
Сообщения: 118
ОС: kUbuntu 8.04

Re: *.py->a.out || elf?

Сообщение carnivore »

Каким макаром это можно сделать?Если это вообще возможно :rolleyes:
#make --not-war love
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: *.py->a.out || elf?

Сообщение KiWi »

Ну, возможно :-)
Только зачем?
Спасибо сказали:
Аватара пользователя
carnivore
Сообщения: 118
ОС: kUbuntu 8.04

Re: *.py->a.out || elf?

Сообщение carnivore »

IFL писал(а):
11.06.2006 15:49
Ну, возможно :-)
Только зачем?

Ну, они работать будут быстрее, причем на любом 'NIXе, даже без интерпретатора удава.К тому же мне просто интерестно, так что не томите душу, рассказывайте как это сделать ^_^
#make --not-war love
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: *.py->a.out || elf?

Сообщение t.t »

Работать быстрее не будет, т.к. это не компилятор в машкод, а обёртка-интерпретатор над байт-кодом.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
carnivore
Сообщения: 118
ОС: kUbuntu 8.04

Re: *.py->a.out || elf?

Сообщение carnivore »

Да ну?Разве a.out не машкод?Тогда уточняю вопрос:как из *.py сделать машкод?
#make --not-war love
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: *.py->a.out || elf?

Сообщение t.t »

(carnivore @ Jun 11 2006, в 18:12) писал(а):Да ну?Разве a.out не машкод?
Машкод. В частности, если речь о питоне, то это машкод интерпретатора байт-кода :)

(carnivore @ Jun 11 2006, в 18:12) писал(а):Тогда уточняю вопрос:как из *.py сделать машкод?
Тогда уточняю ответ: никак. По крайней мере насколько мне известно.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: *.py->a.out || elf?

Сообщение t.t »

Издеваетесь? Зачем вторую тему создали? Объединяю.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
LXj
Сообщения: 94

Re: *.py->a.out || elf?

Сообщение LXj »

Есть ещё такая вещь, как Pyrex http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex

Правда, входной язык для него -- это не совсем Питон, обычно это смесь Питона и Си (а результат -- чистый Си).

Где лежит Python.h можешь спросить у locate или у любимого менеджера пакетов. У меня, на пример, /usr/include/python2.4/Python.h. В принципе, скорее всего он там лежит у всех, кто не компилил его ручками со своими --prefix
Спасибо сказали:
azat.h
Сообщения: 45

Re: *.py->a.out || elf?

Сообщение azat.h »

Можно посмотреть http://unununium.org/. Попытка написать OS (включая и ядро) на питоне. Там были ссылки на компиляторы для питона.
Спасибо сказали: