আপনি কি প্রথমটির পরে সি বা সি ++ সংকলন ত্রুটিগুলি পড়েন?


19

আমি কখনই বুঝতে পারি নি যে কেন সি এবং সি ++ সংকলক ত্রুটিগুলি থেকে পুনরুদ্ধার এবং পার্সিং চালিয়ে যাওয়ার চেষ্টা করে। প্রায় সর্বদা, প্রথম ত্রুটিটি বগাস ত্রুটির একটি স্ট্রিম উত্পন্ন করে যা প্রথমটি ঠিক হওয়ার সাথে সাথে অদৃশ্য হয়ে যায়। বেশ কয়েক বছর অভিজ্ঞতার পরে, আমি প্রতিটি ফাইলের প্রথমটি বাদ দিয়ে কোনও ত্রুটি দেখতে কেবল থামিয়েছি। আমি সংকলকটি পুনরায় চালু করি এবং তারপরে আর ত্রুটি না হওয়া পর্যন্ত এটি আবার করি। এটি কি একটি সাধারণ অনুশীলন?


আমার ধারণা আমি কেবল প্রথমটি পড়েছি তবে আমি হাজার মিলিয়ন উত্স ফাইল সমাধান নিয়ে কাজ করি না, যাতে এটি সহায়তা করে that
কোডার

উত্তর:


19

কখনও কখনও ত্রুটিগুলি সম্পর্কিত নয়। আমি সহজে ত্রুটি একটি তালিকা তাকান এবং সংশ্লিষ্ট ত্রুটি সিরিজের মূল কারণ ফিক্স, তারপর পরবর্তী ঠিক করতে এটি জাতিসংঘের সংক্রান্ত ত্রুটি। যদি প্রকল্পটি বড় হয় এবং এটি নির্মাণে কিছুটা সময় নেয় তবে আমি প্রথম ত্রুটি সমাধানের, পুনরায় সংশোধন করার, পুনরাবৃত্তি করার চেয়ে এইভাবে কাজ করা কম হতাশাকে দেখতে পাই ...


3
+1: মনে রাখবেন, যদি প্রকল্পটি বড় হয় এবং এটি তৈরি করতে কিছুটা সময় নেয় তবে কম্পাইলগুলির মধ্যে খুব বেশি পরিবর্তন না করা বুদ্ধিমানের কাজ যাতে আপনি তুলনামূলকভাবে সহজেই প্রবর্তিত কোনও সমস্যা খুঁজে পেতে পারেন।
ডোনাল ফেলো

আমি সম্মত হচ্ছি যে ক্ষেত্রে আপনার সংকলনের সময়টি খুব দীর্ঘ, অন্য সম্পর্কিত সম্পর্কযুক্ত ত্রুটিগুলি সন্ধান করা কার্যকর হতে পারে তবে আমি সেই দীর্ঘতর
বর্ধনমূলক কারণগুলির

8

এটি সংকলনের সময়ের উপর নির্ভর করে । উদাহরণস্বরূপ, যদি আমি জানি যে আমি কেবলমাত্র একটি মাস্টার শিরোলেখ পরিবর্তন করেছি যা পুরো প্রকল্পটির পুনর্নির্মাণকে ট্রিগার করবে, আমি অবশ্যই ত্রুটিযুক্ত বাকী স্ট্যাকের বাকী অংশটি নিবিড়ভাবে পর্যবেক্ষণ করব এবং দেখব যে আমি সেগুলির কিছু ঠিক করতে পারি কিনা। কম্পাইলার চলাকালীন আমি কফি তৈরির জন্য উঠে দাঁড়ালে এটি আমাকে আরও ভাল অনুভূতি দেয়।


4

হ্যাঁ আমিও একই কাজ করি, যদি না আমি সংশোধকটিকে সাহায্যের জন্য সংশোধনকারীটি ব্যবহার না করি যার ক্ষেত্রে আমি ত্রুটির সম্পূর্ণ তালিকা পছন্দ করি :)


অনেক আধুনিক আইডিইতে বোতামের ক্লিকে রিফ্যাক্টরিং সরঞ্জাম উপলব্ধ রয়েছে, সুতরাং আপনার যদি এই জাতীয় সরঞ্জামগুলির অ্যাক্সেস এবং ক্ষমতা রাখেন তবে রিফ্যাক্টর-বাই-কম্পাইলার-ত্রুটি প্রয়োজন হয় না। আপনি যদি এটি পছন্দ না করেন ...
হতাশাগ্রস্থতা ছাড়া ডিজাইনার

1
হ্যাঁ তবে আমার প্রাথমিক কাজের আইডিই ভিএস-তে সি ++ এর জন্য কিছুই নেই :( যখন কোনও সরঞ্জাম নেই তখন আমি কোনও উপায় খুঁজে পাব!
স্টিফেন বেইলি

1
পুরো টমেটো থেকে ভিজ্যুয়াল অ্যাসিস্ট এক্স সি ++ এর জন্য ভিএসে রিফ্যাক্টরিং যুক্ত করে।
প্রস্তরনির্মিত

4

যদি লাইন সংখ্যা একটি ব্যবধান হয়, কম্পাইলার সম্ভবত হয়নি পুনরুদ্ধার এবং তারপর অন্য ত্রুটি খুঁজে পাওয়া যায়নি।

সাধারণত প্রতিটি গুচ্ছের মধ্যে একটি করে ত্রুটি ঠিক করার চেষ্টা করুন।


1

আরও ভাল সংকলকগুলি আরও ভাল ফলাফল দেয় এবং আপনাকে প্রথম কার্যকর হওয়ার পরে আরও কার্যকর ত্রুটি দেয়, প্রায়শই কোনও ধরণের ত্রুটিগুলির স্বয়ংক্রিয় সংশোধনের মাধ্যমে যাতে সম্ভবত ভাল কোডটি অন্তত চেক করা যায়। তবে, আমি জাভাতে, এক্লিপসে কাজ করতে অভ্যস্ত, যেখানে সিনট্যাক্স টাইপগুলি তাত্ক্ষণিকভাবে সনাক্ত করা যায় এবং সহজেই সংশোধন করা হয় এবং অন্যান্য সংকলক ত্রুটিগুলি সংকলকটির থেকে পুনরুদ্ধার করার জন্য আরও বিচিত্র এবং সহজ হতে থাকে। আমি কেবল ধরে নিতে পারি যে মাইক্রোসফ্টের আইডিই এবং সি ++ বা সি # তে অন্যদের সাথে কাজ করার সময় এটি একই রকম।


0

হ্যাঁ - বা কমপক্ষে আমি এগুলিকে স্কিম করব। ত্রুটিগুলি সম্পর্কিত কিনা তা নির্ধারণ করা খুব সহজ (সাধারণত লাইন নম্বরটিতে একবার নজর দেওয়া যথেষ্ট) এবং আমি সেগুলিকে এক পাসে ফিক্সিং করে পুনরায় সংশোধন করতে পছন্দ করি like


0

1 সিপিপি সংকলনটি খুব দীর্ঘ হলে কেবল আমি এটি (প্রথমটির ত্রুটিগুলি পড়তে) করতে পারি। বা পাওয়া যায় না। তারপরে আমি कंফাইলার ত্রুটিগুলিতে প্রথম ত্রুটির সাথে সম্পর্কযুক্ত হিসাবে চিহ্নিত করতে পেরেছি এমন সমস্ত কিছু স্থির করে দিয়েছি তা নিশ্চিত করতে আমি পছন্দ করি।

যখন আপনার সিপিপি ফাইলটি একা সংকলন করা যায় এবং এক সেকেন্ডেরও কম সময়ের মধ্যে হয় (বা আপনার সংকলন শুরুর আগে একটি "ইন্টেলিজেন্স" নির্দেশক ত্রুটি রয়েছে) আপনাকে বেশিরভাগ সময় এটি করতে হবে না।

আমি বর্তমানে এমন একটি প্রকল্পে কাজ করছি যেখানে আমি একা এক সিপিপি সংকলন করতে পারি না (এবং বিল্ড সিস্টেমে আমার কোনও হাত নেই যাতে আমি ও ওওও পরিবর্তন করতে পারি না) এবং কিছু সিপিপি ফাইল সংকলন করতে দশ মিনিটেরও বেশি সময় নিতে পারে ( এটি হ্রাস করার জন্য প্রচুর পরিশ্রম করার পরেও, আমরা এটি কেবলমাত্র মূল সংকলন সময়ের 50% কেটে ফেলেছি ...)।

এই ধরণের খুব দীর্ঘ সংকলন সেটআপে, "বিল্ড" কে হিট করার আগে আপনি প্রথমে অনেক কিছু ভাবার প্রবণতা পোষণ করেন ... এবং পরে অনেক কিছু ভাবার পরেও সম্ভবত সংকলকটির আগে বাগগুলি খুঁজে পেতে পারেন যেহেতু আপনি অবশ্যই এটির চেয়ে মানসিকভাবে পেতে আরও দ্রুত ।


-1

আপনার মত কাজ করা বেশ সাধারণ। আমি সাধারণত ইন্টার্ন বা নবীন প্রোগ্রামারগুলিকে প্রথম তাত্পর্য বাদে প্রায় সমস্ত ত্রুটি উপেক্ষা করতে ত্রুটির সংখ্যায় অভিভূত হয়ে বলি। এটি সম্ভবত একটি আসল ত্রুটি যা সংশোধন করা দরকার এবং এটি পূর্ববর্তী একটি দ্বারা বিভ্রান্তিকর ভ্রান্ত ত্রুটি নয়। কিছু (সর্বাধিক?) সংকলকগুলির এই কারণে প্রথম ত্রুটির পরে সংকলন বন্ধ করার বিকল্প রয়েছে। বিল্ড সিস্টেমগুলি সাধারণত ত্রুটিযুক্ত প্রথম ফাইলের পরে থামার জন্য কনফিগার করা যায়।

তবে ত্রুটিগুলি সনাক্ত করার পরেও সংকলন চালিয়ে যাওয়ার কারণ রয়েছে। উদাহরণস্বরূপ, আপনি কতগুলি ফাইলের ত্রুটি রয়েছে তা গণনা করতে পারেন বা অন্তর্ভুক্ত শিরোনাম ফাইলটি একাধিক ফাইলে ত্রুটি ঘটায় কিনা তা দেখতে চাইতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.