ডায়নামিক লাইব্রেরি থেকে রফতানি করা প্রতীকগুলির তালিকা কীভাবে প্রিন্ট করা যায়


120

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

আমি ডাইলিব ফাইলটি লোড করতে সক্ষম হয়েছি, তবে আমি যখন ফাংশন পয়েন্টারটি পেতে dlsym কল করি তখন এটি 0 ফিরে আসে এবং ডিলার বলে প্রতীকটি পাওয়া যায় নি।

তাই আমি ভাবছি যে কোনও ডিলিব ফাইল থেকে রফতানি করা প্রতীকগুলি তালিকাভুক্ত করার কোনও সহজ উপায় আছে কিনা? যেকোনো পরামর্শই বেশ কাজে দেবে.

উত্তর:


152

মানুষ 1 এনএম

https://web.archive.org/web/20160316222941/https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/nm.1.html

উদাহরণ স্বরূপ:

nm -gU /usr/local/Cellar/cairo/1.12.16/lib/cairo/libcairo-trace.0.dylib

2
ওএস এক্স চিতাবাঘের অধীনে (10.5, হ্যাঁ, আমি জানি ...) আপনার ব্যবহার করা উচিত nm -gu, অর্থাৎ -uবিকল্পটি ছোট হাতের অক্ষর।
ল্যারিক্স ডিসিদুয়া

4
ম্যান 1 এনএম স্বয়ংসম্পূর্ণ এবং কমান্ড লাইন পরিবর্তিত হলে কাজ চালিয়ে যাবে: পি
এমকে।

9
@MK। man 1 nmএনএম দিয়ে করা যায় এমন অনেকগুলি বিষয় তালিকাভুক্ত করে। আবার এটি একটি বাহ্যিক সংস্থান যা সমাধান আবিষ্কার করার জন্য পড়তে পারে, তবে অনুরোধটি "একটি ডায়ালিব ফাইল থেকে রফতানি করা প্রতীকগুলি তালিকাভুক্ত করার একটি সহজ উপায়" এর সমাধান নয় । " nm -gU ….dylib" তবে।
স্লিপ ডি থম্পসন

58

অটুল ব্যবহার করুন :

otool -TV your.dylib

অথবা

nm -g your.dylib

4
নতুন MacOS তারিখে, otool -T দেখাবে otool: -T functionality obsoleteব্যবহার -t objdump
joseph.smeng

যদিও এটি সত্য যে নতুন ওএস এক্স-তে otool -Tপ্রতিবেদন করা functionality obsoleteহয়েছে, এটিও সত্য যে (গতিশীল গ্রন্থাগারগুলির জন্য) objdump -tরিপোর্ট করবেThe file was not recognized as a valid object file.
টিএমএল


0

ডাইলিবে সমস্ত প্রতীক দেখার জন্য মাচ-ওভিউ ব্যবহার করুন

https://sourceforge.net/projects/machoview/


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