Inlinec - he ala hou e hoʻohana ai i ka code C ma nā palapala Python

Papahana inlinec Ua manaʻo ʻia kahi ala hou no ka hoʻohui inline o ka code C i nā palapala Python. Ua wehewehe pololei ʻia nā hana C i ka faila code Python like, i hōʻike ʻia e ka mea hoʻonani "@inlinec". Hoʻokō ʻia ka palapala hōʻuluʻulu e like me ka unuhi ʻōlelo Python a hoʻopaʻa ʻia me ka hoʻohana ʻana i ka mīkini i hāʻawi ʻia ma Python codecs, ka mea e hiki ai ke hoʻohui i kahi parser e hoʻololi i ka palapala ma mua o ka hoʻololi ʻana iā ia e ka unuhi ʻōlelo (ma ke ʻano he kānāwai, hoʻohana ʻia ka module codecs no ka transcoding text transparent, akā hiki iā ʻoe ke hoʻololi i nā mea o ka palapala).

Hoʻopili ʻia ka parser ma ke ʻano he module ("mai inlinec import inlinec"), e hana ana i ka hana mua a ma ka lele ʻana e unuhi i nā wehewehe o nā hana C i hōʻike ʻia me ka hoʻohana ʻana i nā annotations @inlinec i nā ctypes bindings a hoʻololi i ke kino o ka hana C me he kahea i keia mau paa. Ma hope o ka hoʻololi ʻana, loaʻa i ka unuhi ʻōlelo Python ka kikokikona kumu hoʻololi pololei o ka palapala, kahi i kapa ʻia ai nā hana C me ka hoʻohana ʻana. ctypes. Hoʻohana ʻia kahi ʻano like i ka papahana Pyxl4, hiki iā ʻoe ke hoʻohui i ka code HTML a me Python i hoʻokahi faila.

# coding: inlinec
mai inlinec import inlinec

@inlinec
ho'āʻo def():
# komo pū
hoʻāʻo ʻole () {
printf("Aloha, honua");
}

Hōʻike ʻia ka hoʻomohala ʻana ma ke ʻano he prototype hoʻokolohua, aia nā hemahema e like me ka nele o ke kākoʻo no ka hele ʻana i nā kuhikuhi (koe wale nā ​​string) i ka hana, pono e holo.
"gcc -E" no ka hoʻoponopono mua ʻana i nā code, mālama i nā faila waena *.so, *.o a me *.c faila i ka papa kuhikuhi o kēia manawa, ʻaʻole hoʻopaʻa i ka mana i hoʻololi ʻia a hana i nā ʻanuʻu parsing pono ʻole (lohi lōʻihi i kēlā me kēia manawa e holo ai).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka