Inlinec - பைதான் ஸ்கிரிப்ட்களில் C குறியீட்டைப் பயன்படுத்துவதற்கான ஒரு புதிய வழி

திட்டம் இன்லைனெக் பைதான் ஸ்கிரிப்ட்களில் சி குறியீட்டை இன்லைன் ஒருங்கிணைப்பதற்கான ஒரு புதிய முறை முன்மொழியப்பட்டது. C செயல்பாடுகள் "@inlinec" அலங்கரிப்பாளரால் முன்னிலைப்படுத்தப்பட்ட அதே பைதான் குறியீடு கோப்பில் நேரடியாக வரையறுக்கப்படுகின்றன. சுருக்க ஸ்கிரிப்ட் பைதான் மொழிபெயர்ப்பாளரால் செயல்படுத்தப்படுகிறது மற்றும் பைத்தானில் வழங்கப்பட்ட பொறிமுறையைப் பயன்படுத்தி பாகுபடுத்தப்படுகிறது. கோடெக்குகள், இது மொழிபெயர்ப்பாளர் மூலம் ஸ்கிரிப்டை பாகுபடுத்துவதற்கு முன் ஒரு பாகுபடுத்தியை இணைப்பதை சாத்தியமாக்குகிறது (ஒரு விதியாக, கோடெக்ஸ் தொகுதி வெளிப்படையான உரை டிரான்ஸ்கோடிங்கிற்கு பயன்படுத்தப்படுகிறது, ஆனால் இது ஸ்கிரிப்ட்டின் உள்ளடக்கங்களை தன்னிச்சையாக மாற்ற அனுமதிக்கிறது).

பாகுபடுத்தி ஒரு தொகுதியாக இணைக்கப்பட்டுள்ளது (“இன்லினெக் இறக்குமதி இன்லினெக்கிலிருந்து”), இது ஆரம்ப செயலாக்கத்தைச் செய்கிறது மற்றும் பறக்கும்போது, ​​@inlinec சிறுகுறிப்புகளைப் பயன்படுத்தி உயர்த்தப்பட்ட C செயல்பாடுகளின் வரையறைகளை ctypes பிணைப்புகளாக மொழிபெயர்த்து, C செயல்பாட்டின் உடலை மாற்றுகிறது. இந்த பிணைப்புகளுக்கு ஒரு அழைப்பு. அத்தகைய மாற்றத்திற்குப் பிறகு, பைதான் மொழிபெயர்ப்பாளர் ஸ்கிரிப்ட்டின் சரியான மாற்றப்பட்ட மூல உரையைப் பெறுகிறார், இதில் C செயல்பாடுகள் பயன்படுத்தி அழைக்கப்படுகின்றன. ctypes. இதேபோன்ற முறை திட்டத்திலும் பயன்படுத்தப்படுகிறது Pyxl4, இது HTML மற்றும் பைதான் குறியீட்டை ஒரு கோப்பில் கலக்க அனுமதிக்கிறது.

# குறியீட்டு முறை: inlinec
inlinec இறக்குமதி inlinec இலிருந்து

@inlinec
def test():
#சேர்க்கிறது
வெற்றிட சோதனை() {
printf ("வணக்கம், உலகம்");
}

வளர்ச்சியானது இதுவரை ஒரு சோதனை முன்மாதிரியாக வழங்கப்படுகிறது, இது செயல்பாட்டிற்கு சுட்டிகளை (சரங்களைத் தவிர) அனுப்புவதற்கான ஆதரவு இல்லாதது, இயக்க வேண்டிய அவசியம் போன்ற குறைபாடுகளைக் கொண்டுள்ளது.
"gcc -E" குறியீட்டை முன் செயலாக்கம், தற்போதைய கோப்பகத்தில் இடைநிலை *.so, *.o மற்றும் *.c கோப்புகளை சேமித்தல், மாற்றப்பட்ட பதிப்பை தேக்ககப்படுத்தாமல் மற்றும் தேவையற்ற பாகுபடுத்தும் நிலைகளை (அது இயங்கும் ஒவ்வொரு முறையும் நீண்ட தாமதங்கள்) செய்யும்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்