पर कॉल डालने के बिना जीसीसी को संकलित करने के लिए प्राप्त करना मैं वर्तमान में पावरपीसी 440 के लिए संकलित जीसीसी 4.5.3 का उपयोग कर रहा हूं, और कुछ कोड संकलित कर रहा हूं जिनके लिए libc की आवश्यकता नहीं है। मेरे पास memcpy() के लिए कोई सीधी कॉल नहीं है, लेकिन संकलक निर्माण के दौरान एक डालने लगते हैं।memcpy
लिंकर विकल्प जैसे -nostdlib, -nostartfiles, -nodefaultlibs हैं लेकिन मैं उन्हें उपयोग करने में असमर्थ हूं क्योंकि मैं लिंकिंग चरण नहीं कर रहा हूं। मैं केवल संकलन कर रहा हूँ। कुछ इस तरह है:
$ powerpc-440-eabi-nm output.o | grep memcpy
U memcpy
$
जीसीसी आदमी पेज यह स्पष्ट करता है memcpy के लिए कॉल को हटाने और करने के लिए कैसे:
$ powerpc-440-eabi-gcc -O2 -g -c -o output.o input.c
अगर मैं एनएम के साथ output.o जाँच, मैं memcpy के लिए एक संदर्भ देखना लिंकर के साथ अन्य libc कॉल, लेकिन मैं नहीं चाहता कि संकलक उन्हें पहले स्थान पर डालें, क्योंकि मैं एक पूरी तरह से अलग लिंकर का उपयोग कर रहा हूं (जीएनयू के एलडी नहीं, और यह libc के बारे में नहीं जानता)।
आपकी सहायता के लिए धन्यवाद।
कॉल करने से फायदा हो सकता है और कुछ नहीं काम करता है, एक सरल बाइट-दर-बाइट तो जोड़ सकते हैं, , कम से कम उपयोग किए जाने वाले मामलों के लिए कम से कम memcpy के सीपीयू-आधारित कार्यान्वयन संभवतः उत्तर पीओ से कम है यहाँ sted। –