সাধারণ সি প্রোগ্রামিং করার সময় আমি একই চ্যালেঞ্জের মুখোমুখি হয়েছিলাম। আপনার নির্দিষ্ট লিনাক্স সিস্টেমে / usr / অন্তর্ভুক্ত ডিরেক্টরিতে অনেকগুলি রয়েছে, এখানে একটি লিনাক্স ওএসের জন্য নির্দিষ্ট হেডার ফাইল রয়েছে।
find . -name "*.h" | xargs grep PATH_MAX
আপনার বেশ কয়েকটি শিরোনাম PATH_MAX সংজ্ঞায়িত করা উচিত; দুর্ভাগ্যক্রমে এই মানটি বিভিন্ন শিরোনামে আলাদাভাবে সংজ্ঞায়িত হয়েছিল। আমার উবুন্টু থেকে এখানে একটি তালিকা রয়েছে (আমি গ্রেপ প্রোগ্রাম থেকে কিছু মিথ্যা ইতিবাচক হিট ম্যানুয়ালিও মুছে ফেলেছি)।
./x86_64-linux-gnu/bits/posix1_lim.h:#define _POSIX_PATH_MAX 256
./X11/InitialI.h:#ifndef PATH_MAX
./X11/InitialI.h:#define PATH_MAX 512
./X11/InitialI.h:#ifndef PATH_MAX
./X11/InitialI.h:#define PATH_MAX MAXPATHLEN
./X11/InitialI.h:#define PATH_MAX 1024
./X11/Xos.h:# define PATH_MAX 4096
./X11/Xwindows.h:#if defined(WIN32) && (!defined(PATH_MAX) || PATH_MAX < 1024)
./X11/Xwindows.h:# undef PATH_MAX
./X11/Xwindows.h:# define PATH_MAX 1024
./X11/Xosdefs.h:# ifndef PATH_MAX
./X11/Xosdefs.h:# define PATH_MAX 4096
./X11/Xosdefs.h:# ifndef PATH_MAX
./X11/Xosdefs.h:# define PATH_MAX 1024
./X11/extensions/XKBsrv.h:#define PATH_MAX MAXPATHLEN
./X11/extensions/XKBsrv.h:#define PATH_MAX 1024
./python2.7/osdefs.h:#ifndef PATH_MAX
./python2.7/osdefs.h:#define PATH_MAX MAXPATHLEN
./python2.7/osdefs.h:#if defined(PATH_MAX) && PATH_MAX > 1024
./python2.7/osdefs.h:#define MAXPATHLEN PATH_MAX
./linux/limits.h:#define PATH_MAX 4096 /* # chars in a path name including nul */
./linux/btrfs.h:#define BTRFS_INO_LOOKUP_PATH_MAX 4080
./linux/un.h:#define UNIX_PATH_MAX 108
হেডার / লিনিক্স / লিমিটস.এ সবচেয়ে বেশি নম্বর ছিল এবং এটি অন্তর্ভুক্ত করার জন্য সবচেয়ে খাঁটি হওয়া উচিত। বিকল্প কৌশলটি আপনার নিজের নামের একটি আলাদা নামের সাথে সংজ্ঞায়িত করা, প্যাথলেন বলুন (4080 বেশিরভাগ ব্যবহারিক পরিস্থিতির জন্য যথেষ্ট দীর্ঘ)। আমার মূল বক্তব্যটি আপনার প্রশ্নের উত্তর খুঁজতে সন্ধানের ব্যবহারটি শিখতে হবে।