ΠΡΠΎΠ΅ΠΊΡΠΎΠΌ
ΠΠ°ΡΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ («from inlinec import inlinec»), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π½Π° Π»Π΅ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π‘ΠΈ-ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ @inlinec, Π² ctypes-ΠΎΠ±Π²ΡΠ·ΠΊΠΈ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅Π»ΠΎ Π‘ΠΈ-ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π²ΡΠ·ΠΎΠ² ΡΡΠΈΡ
ΠΎΠ±Π²ΡΠ·ΠΎΠΊ. ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΆΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠΊΡΠΈΠΏΡΠ°, Π‘ΠΈ-ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ
# coding: inlinec
from inlinec import inlinec
@inlinec
def test():
#include<stdio.h>
void test() {
printf(«Hello, world»);
}
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠΊΠ° ΠΏΡΠ΅ΠΏΠΎΠ΄Π½ΠΎΡΠΈΡΡΡ ΠΊΠ°ΠΊ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠΌΠ΅ΡΠ°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠ°ΠΊ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π² ΡΡΠ½ΠΊΡΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ (ΠΊΡΠΎΠΌΠ΅ ΡΡΡΠΎΠΊ), Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°
«gcc -E» Π΄Π»Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π°, ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ
*.so, *.o ΠΈ *.c ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΠΈΡΠ½ΠΈΡ
ΡΡΠ°Π΄ΠΈΠΉ ΡΠ°Π·Π±ΠΎΡΠ° (Π±ΠΎΠ»ΡΡΠΈΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru