একটি সি ++ ডিকম্পিলার আছে? [বন্ধ]


116

আমার একটি প্রোগ্রাম রয়েছে যাতে আমি সি ++ উত্স কোডটি হারিয়েছি। সেখানে কি কোনও ভাল সি ++ ডিকম্পিলার রয়েছে?

আমি ইতোমধ্যে বুমেরাং পেরিয়ে এসেছি ।


objdumpলিনাক্সের জন্য
স্টাইলপক্স

1
দুর্দান্ত গুই এবং দুর্দান্ত বিল্টিন ডিকম্পিলারের জন্য কাটার.রে
মিসিউর

উত্তর:


80

আপনি হেক্স-রে দ্বারা আইডিএ প্রো ব্যবহার করতে পারেন । আপনি ডিবাগিং তথ্য সংকলন না করে আপনি সাধারণত বাইনারি থেকে ভাল সি ++ পাবেন না। কোডটি বিপরীতে প্রচুর ম্যানুয়াল শ্রম ব্যয় করতে প্রস্তুত ।

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


26
স্পষ্ট করার জন্য, আইডিএ কেবল বিচ্ছিন্নতা দেবে। এটিতে হ্যাক্স-রে নামে একটি অ্যাড-অন রয়েছে যা সি / সি ++ উত্সে যতটা সম্ভব সম্ভব বাকি প্রান্তটিকে বিভক্ত করবে।
davenpcj

2
ডক্সটি পড়ার জন্য, হেক্স-রে কেবল সিউডো কোডের মতো সি আউটপুট করে। এটি যে সি ++ বিযুক্ত করার জন্য অকেজো করে তোলে তা নয়, কম্পাইলাররা সি ++ স্ট্রাকচারগুলিকে কীভাবে রূপান্তর করে সে সম্পর্কে আপনাকে কিছুটা জানতে হবে।
মাইকেল অ্যান্ডারসন

আরও কিছু স্পষ্ট করার জন্য, ডিসেক্সেপলিং হেক্স-রেসের সাহায্যে আপনি
ডিসেমপাইল

4
স্নোমন একটি ভাল ফ্রি সি ++ ডিকম্পিলার
ইঙ্গা

2
স্নোম্যানের জন্য +1, তবে অন্যরা যেমন উল্লেখ করেছে, এমনকি একটি সাধারণ হ্যালো, ওয়ার্ল্ড একবারে পচনশীল হয়ে যায়।
বিডেটওয়েলার 17

25

সংকলন প্রক্রিয়ায় তথ্য বাতিল করা হয়। এমনকি যদি কোনও ডিকম্পোলার ক্লাস এবং সমস্ত কিছু দিয়ে লজিক্যাল সমতুল্য কোড তৈরি করতে পারে (এটি সম্ভবত না পারে), স্ব-ডকুমেন্টিং অংশটি অনুকূলিত প্রকাশের কোডে চলে গেছে release কোনও ভেরিয়েবলের নাম, কোনও রুটিনের নাম, কোনও শ্রেণির নাম নয় - কেবল ঠিকানা।


25
প্রোগ্রামটির "আত্মা" চলে গেছে, এটির পূর্বের একটি খালি শেল ... "
দর্শনা চৌধুরী

21

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


6

আমি এমন কোন ডিসকম্পিলার দেখিনি যা সি ++ কোড উত্পন্ন করে। আমি কয়েকটি পরীক্ষামূলক দেখেছি যা সি কোড উত্পন্ন করার জন্য একটি যুক্তিসঙ্গত প্রচেষ্টা করে, তবে তারা একটি নির্দিষ্ট সংকলকের কোড-প্রজন্মের ধরণগুলির সাথে মেলে নির্ভর করে dependent )। অবশ্যই যে কোনও প্রতীকী তথ্য চলে যাবে। "ডিকম্পাইলার" এর জন্য গুগল।


4

আসল কোডটি কতটা বড় এবং কতটা ভালভাবে লেখা হয়েছিল তার উপর নির্ভর করে এটি আপনার প্রিয় ভাষায় (যা এখনও সি ++ হতে পারে) থেকে শুরু করে শেষ সংস্করণে করা কোনও ভুল থেকে শিখতে পারে। কেউ একবার লেখার কথা বলে ফেলেনি?

nb স্পষ্টতই যদি এটি একটি বিশাল পণ্য হয় তবে এটি সময়ের পক্ষে উপযুক্ত নয় may



24
জোয়েল দুর্দান্ত কলামিস্ট, তবে সময়ে সময়ে ভুল হয়। এবং তারপরে এমন কিছু সময় আসে যখন সে ভুল উদ্ধৃতি দেয়। এখানে যেমন, উত্স কোডটি হ্রাসের আশপাশে প্রশ্ন কেন্দ্র। জোলস নিবন্ধটি কেন সোর্স কোডটি মূল্যবান তা ব্যাখ্যা করে।
এমএসএলটার

5
কেউ একবার লেখার কথা বলে ফেলেনি? হ্যাঁ, এবং তিনি তার মন পরিবর্তন করেছিলেন davewsmith.com/blog/2010/brook-revisits-plan-to-throw-one-away [I] n 1975 সালে, আমি প্রোগ্রামারদের "প্রথম সংস্করণটি ফেলে দিতে" পরামর্শ দিয়েছিলাম, তারপরে একটি দ্বিতীয় তৈরি করতে এক. 20 তম বার্ষিকী সংস্করণে, আমি বুঝতে পেরেছি যে ধ্রুবক বর্ধিত পুনরাবৃত্তি একটি সুদূরপ্রসারী পদ্ধতির
ta.speot.is
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.