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


это меня больше устраивает. не доходит только как совместить Python и Cи. тем более что люди утверждают что это невозможно…
AD0DE412
по докам, при первом приближении, как то так.

 #include <pybind11/pybind11.h>
//мне кажется что использовать main() не лучшее решение хз почему
int fink(){
	int a;
	int arr[3]{1, 4, 3};
	for(int i = 0; i < 3; ++i){
		if(arr[i] == 4){
			a = arr[i];
		};
	};
	//функция должна что то передать в python
	return a;
}
PYBIND11_MODULE(example, m) {
    m.doc() = "pybind11 example plugin"; // optional module docstring
    m.def("fink", &fink, "help str");
}

скомпилировать в библиотеку?

 $ c++ -O3 -Wall -shared -std=c++11 -fPIC `python3 -m pybind11 --includes` my_fink.cpp -o my_fink`python3-config --extension-suffix

запуск в python должно быть как то так

 >>> import my_fink
>>> print(my_fink.fink())
4

зы все это предположение те не проверенно если что не так поправте
ззы за регистры не знаю
pythonmaks
кто знает про регистры?
py.user.next
pythonmaks
не доходит только как совместить Python и Cи. тем более что люди утверждают что это невозможно
Обычно делается динамическая библиотека функций на C или C++, а в питоне она просто подключается к скрипту.

pythonmaks
кто знает про регистры?
С регистрами напрямую принято работать только в ассемблере. Даже в C или в C++ это нафиг не надо.

Так что, если у тебя робот какой-нибудь, прошивку для него надо на C писать (C - это переносимая обёртка для ассемблера), а управлять им уже будет скрипт на питоне, который будет обращаться к прошивке через интерфейсные функции (через API).
pythonmaks
а есть какие-нибудь модули для работы с железом в Python? говорят, что чего в нем только нет… так ли это…
doza_and
pythonmaks
модули для работы с железом в Python
С большинством железа работают чисто паяльником. Вы напишите что за железо.
https://micropython.org/
pythonmaks
doza_and
возможно что это то что надо
pythonmaks
doza_and

это можно установить на Linux? я про компилятор micropython
doza_and
У меня складывается впечатление что вы поставили для себя непосильную задачу, и вам надо просто поработать с полгодика с обычным питоном.

pythonmaks
это можно установить на Linux?
Очень смешной вопрос для человека пожелавшего работать с железом. Это ставится на железо в котором НЕТ ОПЕРАЦИОННОЙ СИСТЕМЫ. Очевидно на Linux это не ставится , если только эмулятор…

pythonmaks
я про компилятор micropython
micropython НЕ КОМПИЛЯТОР. То что у них написано “MicroPython is a full Python compiler and runtime that runs on the bare-metal.” это описка по привычке. Хотя границы между компилятором и интерпретатором несколько размыты.

За сим прощаюсь. Желаю вам всяческих успехов!
pythonmaks
doza_and
а сим прощаюсь. Желаю вам всяческих успехов!

я не собираюсь ни с чем работать. просто спросил можно ли совместить код Си и Python. оказывается , что можно. и даже есть люди кто это делает. но их мало )
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