मैं जीसीसी का उपयोग कर अपने कर्नेल पर काम कर रहा हूं, और एएसएम कोड से सी फ़ंक्शंस को कॉल करते समय, मुझे add esp,xx
स्वयं करना होगा। कुछ खोज के बाद मुझे पता चला कि stdcall
एक माइक्रोसॉफ्ट आविष्कार है और इसका उपयोग जीसीसी में नहीं कर सकता है। क्या इस काम को करने का कोई आसान तरीका है?क्या जीसीसी में स्टडकॉल के लिए कोई समकक्ष है?
उत्तर
क्या लिनक्स में stdcall का कोई समकक्ष है?
Linux परिवेश
प्रतीक्षा में मेरी गिरी, इस अपनी खुद की गिरी, या लिनक्स कर्नेल है? क्योंकि अगर यह आपका स्वयं का कर्नेल है, तो यह अब लिनक्स नहीं है।
आप लिनक्स पर काम कर रहे हैं, तो आप नियमित रूप से बुला परंपराओं से चिपके रहते हैं और अपने विधानसभा मिलान करने के लिए लिखने के लिए चाहता हूँ।
यदि आप अपने कर्नेल पर काम कर रहे हैं, तो आप जो कुछ भी चाहते हैं वह कर सकते हैं। जीसीसी और बजना ix86 प्रोसेसर पर दोनों समर्थन
stdcall
बुला सम्मेलनों, उदाहरण के लिए,#define stdcall __attribute__((stdcall))
देखें: लिनक्स के लिए Function Attributes (GCC manual)
बहुत बहुत धन्यवाद! मैं अपने स्वयं के कर्नेल को जीसीसी के साथ संकलित कर रहा हूं और किसी ने कहा कि लिनक्स जीसीसी में कोई स्टडकॉल नहीं है। लेकिन यह आपके कोड के साथ अच्छी तरह से काम करता है! – babel92
जब से तुम उल्लेख किया है कि यह अपनी खुद की गिरी है, मैं हटा दिया है संदर्भ। –