2016-01-06 20 views
5

मुझे अपने सी ++ कोड को निष्पादित करने में समस्या हो रही है। मैंने एक मूल "हैलो वर्ल्ड" प्रोग्राम लिखा है, और इसे g ++ make कमांड का उपयोग करके संकलित किया है।संकलित सी ++ exe फ़ाइल निष्पादित नहीं कर सकता

#include <iostream> 

using namespace std; 

int main() { 
    cout << "Hello World" << endl; 
    return 0; 
} 

मैं, कोड संपादन के लिए Emacs का उपयोग कर Cygwin संकलन के लिए Windows 10 पर हूँ, और: यहाँ मेरी कोड है। मैंने इस फ़ाइल को hello.cpp के रूप में सहेजा है। मैं फिर CygWin में निर्देशिका में नेविगेट किया। तब मैंने make hello आदेश दिया। इसने hello.exe बनाया। फिर, मैंने ./hello.exe का उपयोग कर फ़ाइल निष्पादित करने का प्रयास किया। मैंने ./hello भी कोशिश की जो काम नहीं किया। जब मैं इन आदेशों में से एक टाइप करता हूं और एंटर दबाता हूं, तो यह केवल अगली पंक्ति पर, कुछ भी नहीं कर रहा है। मैं इस रिक्त रेखा में टाइप कर सकता हूं, लेकिन यह कुछ भी नहीं करेगा। क्या कोई मेरे कोड को सही तरीके से निष्पादित करने का तरीका जानता है। धन्यवाद।

संपादित करें: मैंने इसे ऑनलाइन सी ++ कंपाइलर cpp.sh पर चलाने का प्रयास किया, और यह ठीक काम किया।

+0

विंडोज कमांड प्रॉम्प्ट (cmd.exe) के तहत प्रोग्राम चलाए जाने पर आउटपुट क्या होता है? –

+0

@NoOrdinaryLove CygWin के समान ही। – kungfushark

+0

आउटपुट को फ़ाइल में रीडायरेक्ट करने का प्रयास करें। hello.exe> ​​log.txt –

उत्तर

0

आपका कोड संभवतः निष्पादित करने वाला है, लेकिन कुछ भी आउटपुट नहीं कर रहा है। ऐसा इसलिए है क्योंकि यह असफल रहा है। echo $? के साथ चलने के बाद वापसी मान की जांच करने का प्रयास करें। यदि यह 0 नहीं है तो यह क्रैश हो गया है। इसे gdb में भी चलाएं और देखें कि यह विफल रहता है या नहीं। यह असफल होने का कारण विंडोज/साइगविन टकराव की संभावना है - यह आपका कोड नहीं है।

+0

मैंने 'echo $?' चलाया वापसी मूल्य और यह '0' कहा, हालांकि, हर बार जब मैं प्रोग्राम चलाता हूं तो मुझे साइगविन को पुनरारंभ करना होगा, इसलिए मान सटीक नहीं हो सकता है। मुझे नहीं पता कि इसे 'gdb' में कैसे चलाया जाए, हालांकि मैंने इसे इंस्टॉल किया है। – kungfushark

+0

हर बार जब आप खोल को पुनरारंभ करते हैं, तो आप अपना पुराना मान '$? 'खो देते हैं। और ऐसा लगता है कि जब आप अपना प्रोग्राम चलाते हैं तो भी शैल क्रैश हो रहा है। –

2

आपका प्रोग्राम शायद काम कर रहा है लेकिन कंसोल विंडो बंद होने से पहले बंद हो रही है।

कार्यक्रम के अंत में एक इनपुट जोड़ने का प्रयास करें ताकि यह प्रतीक्षा कर सके।

आईई।

int a; 
cin >> a; 
+0

कंसोल विंडो बंद नहीं होती है। यह खुला रहता है, लेकिन अंत में मुझे इसे बंद करना पड़ता है क्योंकि यह कुछ भी आउटपुट नहीं करता है। – kungfushark

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