Найти - Пользователи
Полная версия: C++Python
Начало » Python для новичков » C++Python
1 2
pythonmaks
ребята, помогите пожалуйста сделать вставку в Python код на C++


int main(){
int a;
int arr[3]{1, 4, 3};
for(int i=0; i<3; ++i){if(arr[i]==4){a=arr[i];};};


}

#!/usr/bin/python

print(a);

как это объединить? посредством чего?
doza_and
pythonmaks
как это объединить?
Очень просто
 print(4)
Объединять можно сущности которые что-то делают. У вас нет ни изменяемых входов ни возвращаемого значения.
pythonmaks
doza_and


пожалуйста напишите пример. я не понял.

хочу в коде Python использовать массив , который описан в коде на С++.
doza_and
В вашем коде это невозможно, при выходе из функции main массив перестает существовать. В питоне нечего будет использовать.
Посмотрите пример
https://pybind11.readthedocs.io/en/master/basics.html#exporting-variables
pythonmaks
как в Python , в таком случае вделать любой код на С++? я не могу понять из статей. там как всегда понаворочино много ненужного. что для этого нужно? операционная система Linux.
doza_and
pythonmaks
в таком случае вделать любой код на С++?
Любой никак.
Что у вас получается:
Сишный код:
Если я поеду на ниагарский водопад мне в лицо будут лететь брызги.
Вы сидите в питоне и спрашиваете как мне брызги использовать?

Да никак, вы никуда не ездили, брызги только в планах их не существует. Надо ехать. Если поедете то тоже ничего не выйдет, надо взять бутылку, брызги собрать, привезти растоможить, в питоне их из бутылки достать. Только тогда и сможете их использовать.

pythonmaks
я не могу понять из статей
Надо не статьи читать а документацию.
https://pybind11.readthedocs.io/en/master/basics.html
pythonmaks
что для этого нужно?
Выполняете инструкции которые там описаны и все.

p.s.
Вообще вделать сишный код в питон не проблема. Берете текстовый редактор и вставляете. Но наверное вы хотите не вставить код а получить результат. Какой именно неясно. Вот об этом и пишите, тогда вам помогут. Код приведенный мной в посте дает результат (печать на консоль 4) который как я полагаю вы хотели получить в вашем примере.
pythonmaks
жаль. ну теперь уже что останавливаться, хотя бы скажите может ли Python рабоать с регитрами процессора?
FishHook
pythonmaks
жаль. ну теперь уже что останавливаться, хотя бы скажите может ли Python рабоать с регитрами процессора?
Да как вы себе это представляете вообще?
PEHDOM
pythonmaks
хотя бы скажите может ли Python рабоать с регитрами процессора?
напрямую, конечно, нет, но с помощью ctypes можно подгрузить,например, libc.so.6 и уже там делать все что вам захочеться. ИМХО ctypes не для новичков, там не все так просто и очевидно как кажется.
Втоторой вариант использовать уже готовые либы типа:
pyAsm https://github.com/AmihaiN/pyAsm
pyCCA https://pycca.readthedocs.io/en/latest/
corePy https://github.com/matthiaskramm/corepy
PeachPy https://github.com/Maratyszcza/PeachPy


Ну и третий написать свое расширения на Си для пайтона, ссылки вам уже приводили
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB