Как написать программу в Python'e 3.4.1. на языке Си?

Рейтинг: -1Ответов: 2Опубликовано: 12.10.2014

Доброго времени суток, начну с того, что препод сказал студентам написать программу на Си в Питоне. Сам препод толком не помнит, как в ней работать! Сказал, чтобы мы нашли библиотеки или модули для этой программы и написали.

Итак, проблема заключается в том, что надо написать не в Visual Studio, как обычно все пишут программы на Си, а в программе IDLE (Python GUI). Если коротко, то в Python'e. Так вот, как интерпретировать Си и Python? Чтобы засунуть, например, простой код (см.ниже):

#include <stdio.h>
int main (void)
{
    puts ("Hello, World!");
    return 0;
}

Ответы

▲ 4

@DimanSemm, реализация питона "по умолчанию" написана на си, возможно, имелось в виду написать внешний модуль и подрубить его из питона. Пара ссылок, правда не все для 3.4.1: http://habrahabr.ru/post/44520/ https://docs.python.org/3/extending/extending.html http://www.tutorialspoint.com/python/python_further_extensions.htm

▲ 4

https://cffi.readthedocs.org

>>> from cffi import FFI
>>> ffi = FFI()
>>> ffi.cdef("""
...     int printf(const char *format, ...);   /* Копипаст из man страниц */
... """)
>>> C = ffi.dlopen(None)                     # загрузить пространство имён С целиком
>>> arg = ffi.new("char[]", "world")         # эквивалентно C коду: char arg[] = "world";
>>> C.printf("hi there, %s!\n", arg)         # вызвать printf
hi there, world!