2010-08-14 7 views
7

ग्रीटिंग्स,स्कैन के साथ बनाए गए कार्यक्रम के लिए जीप्रोफ समर्थन कैसे बनाया जाए?

यहां मेरी स्कैनस्ट्रक्चर फ़ाइल है:

env = Environment() 
env.Append(CCFLAGS=['-g','-pg']) 
env.Program(target='program1', source= ['program1.c']) 

यहां संकलन का आउटपुट भी है:

scons: Reading SConscript files ... 
scons: done reading SConscript files. 
scons: Building targets ... 
gcc -o program1.o -c -g -pg program1.c 
gcc -o program1 program1.o 
scons: done building targets. 

जैसा कि आप देख सकते हैं कि मैं "-pg" विकल्प को पास करता हूं पर्यावरण का निर्माण निर्माण के बाद, मैं "gmon.out" उत्पन्न करने के लिए प्रोग्राम चलाता हूं लेकिन यह उत्पादित नहीं होता है।

क्या कोई इस समस्या की पुष्टि कर सकता है? या समाधान है?

धन्यवाद।

अद्यतन:

यहां दी गई सलाह के लिए धन्यवाद, अद्यतन कार्यरत स्कैनस्ट्रक्चर फ़ाइल निम्नानुसार है। लिंकर को ध्वज की आवश्यकता होती है, इसलिए इसे स्कैन के माध्यम से पास करने के लिए, "LINKFLAGS" विकल्प का उपयोग किया जाना चाहिए।

env = Environment() 
env.Append(CCFLAGS=['-g','-pg'], LINKFLAGS=['-pg']) 
env.Program(target='program1', source= ['program1.c']) 

संकलन का आउटपुट:

scons: Reading SConscript files ... 
scons: done reading SConscript files. 
scons: Building targets ... 
gcc -o program1.o -c -g -pg program1.c 
gcc -o program1 -pg program1.o 
scons: done building targets. 

लिंकिंग चरण में अतिरिक्त "-pg" नोट करें।

उत्तर

4

लिंकर को इस मामले में -pg विकल्प भी चाहिए। जीसीसी आदमी दाना से:

-pg Generate extra code to write profile information suitable for the analysis program gprof. You must use this option when compiling the source files you want data about, and you must also use it when linking.

कोशिश भी LDFLAGS वातावरण चर करने के लिए विकल्प जोड़ने।

+1

धन्यवाद। जैसा कि आपने सुझाव दिया है लिंकर को बस "-pg" विकल्प की आवश्यकता है। स्कैन इस चर को "LINKFLAGS" के रूप में देखता है। – kobrien

संबंधित मुद्दे