ठीक है आप एक गूढ़ सवाल उठाना चाहते हैं, तो कृपया एक पूर्ण निर्माण करें।
आपने परीक्षण कैसे चलाया? दुर्घटना से आपका क्या मतलब है? आपका आउटपुट क्या था? क्या आपने अभी संकलित किया है, या संकलित और लिंक किया है, या संकलित और लिंक और डीबग किया है? आपका कंपाइलर कैसे कॉन्फ़िगर किया गया है? आप इस प्रयोग के साथ कहां जा रहे हैं?
जैसे वाक्यांशों:
सहज मुझे लगता है कि होगा कि इस दुर्घटना के साथ एक संकलक अनुकूलन स्विच का परिणाम है: बुराई "" की तरह कुछ "" पर्याप्त जानकारीपूर्ण उपयोगी होने के लिए
का पालन नहीं कर रहे हैं उत्तर प्रदेश जिसे आप संकलक को बनाने के लिए कुछ मान्यताओं को अनुमति देते हैं जिन्हें आप अनुरूप नहीं मानते हैं।
मेरी suppositions:
1- शून्य मुख्य (शून्य) (बिना;) एक टिप्पणी आप कर रहे हैं का हिस्सा है, लेकिन परीक्षण द्वारा सबमिट किए गए नहीं हिस्सा।
2- आपका प्रोग्राम गलत है, लेकिन यह संकलक/लिंकर/निष्पादन पर्यावरण के व्यवहार की जांच करने के लिए जानबूझकर है।
यदि यह वास्तव में मामला है, तो आपको परीक्षण मामले की जटिलता को कम करने की आवश्यकता है।
कृपया परीक्षण केस को क्रैश होने के लिए न्यूनतम न्यूनतम तक सरल बनाएं। मैं यह आपके लिए नहीं कर सकता, मेरे पास सॉफ़्टवेयर के सही संस्करण नहीं हैं, वैसे भी, यह आपका प्रयोग है।
यह दुर्घटना होगी?
struct foo { int i; double d; };
struct foo main(void)
{
int a=0;
return a;
}
या यहां तक कि यह सबसे कम उदाहरण है?
void * main(void)
{
return 0;
}
की
यह है इस (मैं इसे शक):
int main(double argc, char ** argv)
{
return 0;
}
आप अंदाजा हो। इसके सार के लिए दुर्घटना को कम करें। को छोड़कर एक त्रुटि के साथ आओ जो एक त्रुटि है जो इसे क्रैश कर देगा।
फिर रिपोर्ट करें।
कंपाइलर बिल्कुल क्रैश नहीं होना चाहिए, यह संकलक के साथ एक बग है यदि यह आपके कोड को समझने की कोशिश कर रहा है। गंदा उदाहरण के लिए – dreamlax
+1। मुझे यह पता लगाने के लिए थोड़ा सा लगा कि आप क्या कर रहे थे :) इसके अलावा, वीएस -2010 सी ++ कंपाइलर अब मुख्य() के हस्ताक्षर को लागू करता है (iow, उपरोक्त कोड अब संकलित नहीं है)। – Alan
अर्धविराम के साथ संरचना को बंद करने का प्रयास करें। देखें कि क्या यह कंपाइलर के व्यवहार को बदलता है। यह वास्तव में एक कंपाइलर बग हो सकता है। –