рдЗрдирд▓рд╛рдЗрдиреЗрдХ - рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рд╕реА рдХреЛрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдирд╡реАрди рдорд╛рд░реНрдЧ

рдкреНрд░рдХрд▓реНрдк рдЗрдирд▓рд╛рдЗрди рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕рдордзреНрдпреЗ C рдХреЛрдбрдЪреНрдпрд╛ рдЗрдирд▓рд╛рдЗрди рдПрдХрддреНрд░реАрдХрд░рдгрд╛рд╕рд╛рдареА рдПрдХ рдирд╡реАрди рдкрджреНрдзрдд рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ. C рдлрдВрдХреНрд╢рдиреНрд╕ рдереЗрдЯ рддреНрдпрд╛рдЪ Python рдХреЛрдб рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, "@inlinec" рдбреЗрдХреЛрд░реЗрдЯрд░рджреНрд╡рд╛рд░реЗ рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рд╕рд╛рд░рд╛рдВрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдкрд╛рдпрдердирдордзреНрдпреЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реА рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░реВрди рдкрд╛рд░реНрд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ. рдХреЛрдбреЗрдХреНрд╕, рдЬреЗ рджреБрднрд╛рд╖реНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рддреНрдпрд╛рдЪреЗ рд░реВрдкрд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд╛рд░реНрд╕рд░рд▓рд╛ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреЗ рд╢рдХреНрдп рдХрд░рддреЗ (рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдХреЛрдбреЗрдХреНрд╕ рдореЙрдбреНрдпреВрд▓ рдкрд╛рд░рджрд░реНрд╢рдХ рдордЬрдХреВрд░ рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдбрд┐рдВрдЧрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рддреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреАрд▓ рд╕рд╛рдордЧреНрд░реА рдЕрдирд┐рдпрдВрддреНрд░рд┐рддрдкрдгреЗ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ).

рдкрд╛рд░реНрд╕рд░ рд╣реЗ рдореЙрдбреНрдпреВрд▓ рдореНрд╣рдгреВрди рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗ (тАЬрдЗрдирд▓рд╛рдЗрдирдХ рдЗрдВрдкреЛрд░реНрдЯ рдЗрдирд▓рд╛рдЗрдиреЗрдХтАЭ), рдЬреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рдЖрдгрд┐ рдСрди-рдж-рдлреНрд▓рд╛рдп C рдлрдВрдХреНрд╢рдиреНрд╕рдЪреНрдпрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ @inlinec рднрд╛рд╖реНрдпреЗ рд╡рд╛рдкрд░реВрди рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛рдВрдЪреЗ ctypes рдмрд╛рдЗрдВрдбрд┐рдВрдЧрдордзреНрдпреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рддреЗ рдЖрдгрд┐ C рдлрдВрдХреНрд╢рдирдЪреНрдпрд╛ рдореБрдЦреНрдп рднрд╛рдЧрд╛рд▓рд╛ рдмрджрд▓рддреЗ. рдпрд╛ рдмрдВрдзрдирд╛рдВрдирд╛ рдХреЙрд▓. рдЕрд╢рд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╛рдирдВрддрд░, рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░рд▓рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪрд╛ рдпреЛрдЧреНрдп рд░реВрдкрд╛рдВрддрд░рд┐рдд рд╕реНрддреНрд░реЛрдд рдордЬрдХреВрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ C рдлрдВрдХреНрд╢рдиреНрд╕ рд╡рд╛рдкрд░реВрди рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдкреНрд░рдХрд╛рд░. рдкреНрд░рдХрд▓реНрдкрд╛рддрд╣реА рдЕрд╢реАрдЪ рдкрджреНрдзрдд рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ Pyxl4, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ HTML рдЖрдгрд┐ Python рдХреЛрдб рдПрдХрд╛рдЪ рдлрд╛рдИрд▓рдордзреНрдпреЗ рдорд┐рд╕рд│рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.

# рдХреЛрдбрд┐рдВрдЧ: рдЗрдирд▓рд╛рдЗрди
inlinec рдЖрдпрд╛рдд inlinec рдХрдбреВрди

@inlinec
def рдЪрд╛рдЪрдгреА():
#рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рд╛
рд╢реВрдиреНрдп рдЪрд╛рдЪрдгреА() {
printf("рд╣реЕрд▓реЛ, рд╡рд░реНрд▓реНрдб");
}

рд╡рд┐рдХрд╛рд╕ рдЖрддрд╛рдкрд░реНрдпрдВрдд рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореНрд╣рдгреВрди рд╕рд╛рджрд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдлрдВрдХреНрд╢рдирд▓рд╛ рдкреЙрдЗрдВрдЯрд░ (рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рдЧрд│рддрд╛) рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдирд╕рдгреЗ, рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдХрдорддрд░рддрд╛ рдЖрд╣реЗрдд.
рдХреЛрдб рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧрд╕рд╛рдареА тАЬgcc -EтАЭ, рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ *.so, *.o рдЖрдгрд┐ *.c рдлрд╛рдЗрд▓реНрд╕ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХрд░рдгреЗ, рд░реВрдкрд╛рдВрддрд░рд┐рдд рдЖрд╡реГрддреНрддреА рдХреЕрд╢ рди рдХрд░рдгреЗ рдЖрдгрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЯрдкреНрдкреЗ рдкрд╛рд░ рдкрд╛рдбрдгреЗ (рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдЪрд╛рд▓рддреЗ рддреЗрд╡реНрд╣рд╛ рджреАрд░реНрдШ рд╡рд┐рд▓рдВрдм).

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛