Inlinec β€” Π½ΠΎΠ² Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π‘ΠΈ-ΠΊΠΎΠ΄ Π² Python скриптовС

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ inlinec ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ Π½ΠΎΠ² Π½Π°Ρ‡ΠΈΠ½ Π·Π° inline ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π‘ΠΈ ΠΊΠΎΠ΄ Π² Python скриптовС. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Π‘ΠΈ сС опрСдСлят Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ Π½Π° Python, ΠΊΠ°Ρ‚ΠΎ сС ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°Ρ‚ с Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ "@inlinec". ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚ скрипт сС изпълнява, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅, ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° сpython ΠΈ сС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° прСдоставСния Π² Python ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ. ΠΊΠΎΠ΄Π΅Ρ†ΠΈ, позволяващ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅ парсСр Π·Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° скрипта ΠΏΡ€Π΅Π΄ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ codecs сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ ΠΏΡ€Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° тСкста, Π½ΠΎ позволява ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ трансформиранС Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° скрипта).

ΠŸΠ°Ρ€ΡΠ΅Ρ€ΡŠΡ‚ сС ΡΠ²ΡŠΡ€Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ» ("from inlinec import inlinec"), ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΡŠΡ€Π²ΠΈΡ‡Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π½Π° Π»Π΅Ρ‚ΠΎ ΠΏΡ€Π΅Π²Π΅ΠΆΠ΄Π° опрСдСлСнията Π½Π° Π‘ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π½ΠΈ Ρ‡Ρ€Π΅Π· Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ @inlinec, Π² ctypes ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ ΠΈ замСня тялото Π½Π° Π‘ΠΈ функцията с ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ. Π‘Π»Π΅Π΄ Ρ‚Π°ΠΊΠΎΠ²Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° Python ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° Π²Π΅Ρ‡Π΅ ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΎ прСобразувания тСкст Π½Π° скрипта, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π‘ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ Ρ‡Ρ€Π΅Π· ctypes. ПодобСн ΠΌΠ΅Ρ‚ΠΎΠ΄ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Pyxl4, ΠΊΠΎΠΉΡ‚ΠΎ позволява смСсванС Π½Π° HTML ΠΈ 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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster