Я пытаюсь скомпилировать программу на Python в файл c. Во-первых, пройдя и устранив десятки ошибок с помощью десятков флагов связывания, в конце концов осталась одна ошибка. Когда я печатаю:
$ gcc -Os -I /usr/include/python3.6m -o example example_cy.c -lpython3.6m -lpthread -lm -lutil -ldl
ошибка:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
Затем я добавляю -nostartfiles :
gcc -Os -I /usr/include/python3.6m -o example example_cy.c
-lpython3.6m -lpthread -lm -lutil -ldl -nostartfiles
Ошибка становится:
/usr/bin/ld: warning: cannot find entry symbol _start; defaulting to
00000000000022f0
Я получил изображение, что проблема в том, что в моем файле .c нет функции main и _start.