ভিজ্যুয়াল স্টুডিওতে সি ++ ফাইলের জন্য # অন্তর্ভুক্ত শ্রেণিবিন্যাস প্রদর্শন করা হচ্ছে


169

সমস্যা: আমার কাছে একটি বিশাল ভিজ্যুয়াল সি ++ প্রকল্প রয়েছে যা আমি ভিজ্যুয়াল স্টুডিও 2010-এ স্থানান্তরিত করার চেষ্টা করছি various এটি বিভিন্ন উত্স এবং বিভিন্ন বয়সের সামগ্রীতে একটি বিশাল মিশ্রণ। আমি সমস্যা হচ্ছি কারণ কিছু winsock.hএবং উভয়ই অন্তর্ভুক্ত রয়েছে winsock2.h

প্রশ্ন:#include ভিজ্যুয়াল স্টুডিও সি ++ উত্স ফাইলের শ্রেণিবিন্যাস প্রদর্শনের জন্য কী কী সরঞ্জাম এবং কৌশল রয়েছে ?

cl /Pপ্রিপ্রসেসর আউটপুট পাওয়ার জন্য আমি জানি , তবে এটি স্পষ্টভাবে দেখায় না যে কোন ফাইলটিতে কোন অন্যান্য ফাইল অন্তর্ভুক্ত রয়েছে (এবং এই ক্ষেত্রে /Pআউটপুট 376,932 লাইন দীর্ঘ 8-)

নিখুঁত বিশ্বে আমি একটি শ্রেণিবিন্যাস প্রদর্শন করতে চাই যা লাইন সংখ্যার সাথে অন্যান্য ফাইলগুলিতে অন্তর্ভুক্ত থাকে যাতে আমি উত্সগুলিতে ঝাঁপিয়ে পড়তে পারি:

source.cpp(1)
  windows.h(100)
    winsock.h
  some_other_thing.h(1234)
    winsock2.h

2
একটি জিসিসি / কলং সমাধান সন্ধানকারী লোকদের জন্য, gcc -H -fsyntax-only ...শ্রেণিবিন্যাসের আউটপুট ব্যবহার করুন । ক্রেডিট stackoverflow.com/a/18593344/427545
Lekensteyn

উত্তর:


234

একটি সেটিং আছে:

প্রকল্প সেটিংস -> কনফিগারেশন বৈশিষ্ট্য -> সি / সি ++ -> উন্নত -> শো অন্তর্ভুক্ত

যে গাছ উত্পন্ন করবে। এটি সংকলক সুইচ / শোইনক্লুডে মানচিত্র করে


20
দ্রষ্টব্য: আক্রমণের আউটপুট উইন্ডোতে দেখা যায়।
CannibalSmith

3
যদি কারো আগ্রহী: এমনকি যদি আপনি ঝনঝন নির্বাচন প্ল্যাটফর্ম টুলসেট , আপনি এখনও "প্রদর্শনী অন্তর্ভুক্ত" করতে পারেন আপনি যোগ -Hমধ্যেC/C++ -> Command Line - Additional Options
wip

3
এখনও জিসিসি'র "অন্তর্ভুক্ত" বৈশিষ্ট্যটির মতো ততটা ভাল নয়, যা সরাসরি একটি সংকলন-সময় ত্রুটির সাথে সম্পর্কিত অন্তর্ভুক্ত শ্রেণিবদ্ধতা দেখায় এবং লাইন নম্বরগুলিও প্রদর্শন করে।
পল

2
আমি একটি দ্রুত রেইজেক্স তৈরি করেছি যা ভিজ্যুয়াল স্টুডিওর অন্তর্ভুক্ত রয়েছে (প্রোগ্রাম ফাইলগুলির মধ্যে (x86))। আপনি নোটপ্যাড ++ এর মতো অ্যাপ্লিকেশনটিতে আপনার আউটপুট উইন্ডোটি অনুলিপি করতে পারেন এবং আপনার গাছ থেকে অন্তর্ভুক্ত সমস্ত ভিএস কে ফাঁকা করে একটি রেগেক্স খুঁজে পেতে এবং প্রতিস্থাপন করতে পারেন:1>\s*Note: including file:\s*C:\\Program Files \(x86\).*(\r\n|\n|$)
কেজেএফএফ

2
মনে রাখবেন যে / শোইনক্লিউডগুলি পৃথক উত্স ফাইলের জন্য টগল করা যেতে পারে, যতক্ষণ না / প্রকল্পের পর্যায়ে / শোআইএনক্লিউড সেট না করা থাকে তার কোনও প্রভাব থাকবে না।
ডেভিড ক্যার

20

সংকলকটি একটি / শোসইনক্লুডস স্যুইচকেও সমর্থন করে - এটি আপনাকে লাইন নম্বর দেয় না, তবে কোথা থেকে অন্তর্ভুক্ত রয়েছে তার একটি সুন্দর বিস্তৃত দর্শন দিতে পারে।

এটি প্রকল্প সেটিংস -> কনফিগারেশন বৈশিষ্ট্য -> সি / সি ++ -> উন্নত -> শো অন্তর্ভুক্ত under


+1 অনেক ধন্যবাদ! (তবে আমি আশঙ্কা করছি যে অক্স্টফেল দ্রুত হওয়ার জন্য গ্রহণ করে))
রিচিহিন্ডল

17

ইনক্লুড ম্যানেজারকে আমরা খুব শক্তিশালী একটি সরঞ্জাম হিসাবে পেয়েছি । এটি নিখরচায় নয় (তবে ব্যয়বহুল নয়) এবং এটি আমাদের অন্তর্ভুক্ত ইস্যুগুলির একটি আঁকড়ে ধরতে দেয় এবং আমাদের সংকলনের সময়টি আমরা ব্যবহার করি না এমন অন্তর্ভুক্তের বৃহত অংশগুলি ছাঁটাই করে 50 মিনিট থেকে 8 মিনিটের মধ্যে ফেলে দেয়।


5
তোকে! আমি আপত্তিজনক ফাইলটিতে ইনক্লুডম্যানেজার চালিয়েছি এবং এটি এমন একটি গ্রাফ তৈরি করেছে যা আমাকে উচ্চস্বরে হেসে ফেলেছে। আমার গণনা অনুসারে আমার পুরো জিনিসটি দেখতে একটি 400 "মনিটরের দরকার হবে I আমি মনে করি আমরা সাহায্য করার শক্তি এর বাইরে নয় 8-)
রিচিহিন্ডল

2
আপডেট - ইনক্লুড ম্যানেজার প্যারেন্ট সংস্থা, প্রোফ্যাক্টর (www.profactor.co.uk) ব্যবসায়ের বাইরে চলে গেছে তবে উপরের ওয়েবসাইটটি থেকে এটি তার সর্বশেষতম প্রকাশনা সরবরাহ করে। নীচের দিকটি এটি কেবল ভিএস ২০০৫ থেকে ভিএস ২০১৩ এ ভিজ্যুয়াল স্টুডিওর সম্পূর্ণ সংস্করণে কাজ করে।
দানা

5

জিসিসির শ্রেণিবিন্যাসের মতো বৈশিষ্ট্যটি ততটা ভাল নয়, যা ত্রুটির ক্ষেত্রে সরাসরি-লাইন অন্তর্ভুক্তি শ্রেণিবিন্যাস দেখায়। ভিএস-এ "শো অন্তর্ভুক্ত" বিকল্পটি সমস্ত কিছু দেখায়, যা ডিবাগ করার সময় শ্রেণিবিন্যাসের মধ্যে ফাইল সমস্যার অন্তর্ভুক্ত থাকে over


আমি এটির জন্য ইতিমধ্যে 5 বছর অপেক্ষা করছি, যা আমি মিংডাব্লু দিয়ে ব্যবহার করেছি।
চমত্কার

2
সম্ভবত এটি কীভাবে ব্যবহার করতে হবে, যেখানে ডকুমেন্টেশন ইত্যাদি রয়েছে তার কিছু বিশদ যুক্ত করুন? এই উত্তরটি বর্তমানে খুব বেশি যোগ করে না।
স্যাম ব্রাইটম্যান 15'19

4

এখানে একটি ভাল তৃতীয় পক্ষ, FOSS সরঞ্জাম রয়েছে। আপনি এক্সএমএলে ফলাফল রফতানি করতে পারেন, এতে সংঘটন সংখ্যা এবং লাইন সংখ্যাগুলির ডেটা অন্তর্ভুক্ত থাকবে।


4

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



2

সিএল / পি আপনাকে লাইন নম্বরগুলি দেখানো উচিত, যেমন আপনি শিরোনামের ফাইলটি কোথা থেকে অন্তর্ভুক্ত করা হচ্ছে তা প্রসঙ্গে বলতে পারেন।

আপনি যদি এর সাথে লাইনগুলি গ্রেপ করেন ...

গ্রেপ "^ # লাইন" file.i

... তারপরে প্রিপ্রোসেসর দ্বারা কোন ফাইলগুলির মুখোমুখি হয়েছিল তার একটি সুন্দর পরিষ্কার ইঙ্গিত আপনার পাওয়া উচিত।

যদি এটি একটি ঘটনা থেকে দূরে হয় তবে এটি খুব দ্রুত ডায়াগনস্টিক হওয়া উচিত।


2
অবশ্যই, তবে এটি আমাকে আট হাজার লাইনের কাঠামোগত আউটস্ট্রাক্ট আউটপুট দেয়।
রিচিহিন্ডল

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

0

আমি ব্যবহার Doxygen এবং Graphviz

এখানে চিত্র বর্ণনা লিখুন

উভয় ইনস্টল করুন। শ্রেণিবদ্ধ ডায়াগ্রামগুলি তৈরি করার সরঞ্জাম হিসাবে গ্রাফভিজকে বেছে নেওয়ার বিষয়টি নিশ্চিত করুন। "গ্রাফিক্স প্যাকেজ থেকে বিন্দু সরঞ্জাম ব্যবহার করুন" নির্বাচন করুন।

গ্রাফভিজ থেকে বাইনারি ডিরেক্টরিটি আপনার PATH এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে অন্তর্ভুক্ত করার বিষয়টি নিশ্চিত করুন।

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