কম্পিউটার

C এবং C++ এ 64-বিট gcc-এ 32-বিট প্রোগ্রাম কম্পাইল করুন


আজকাল কম্পাইলার ডিফল্ট 64-বিট সংস্করণের সাথে আসে। কখনও কখনও আমাদের কিছু 32 বিট সিস্টেমে একটি কোড কম্পাইল এবং এক্সিকিউট করতে হয়। সেই সময়ে, আমাদের এই এস বৈশিষ্ট্যটি ব্যবহার করতে হবে।

প্রথমে, আমরা জিসিসি কম্পাইলারের বর্তমান লক্ষ্য সংস্করণ পরীক্ষা করতে শেভ করি। এটি পরীক্ষা করতে, আমাদের এই কমান্ডটি টাইপ করতে হবে৷

gcc –v বিল্ট-ইন স্পেকস ব্যবহার করে।COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapperOFFLOAD_TARGET_NAMES=nvptx-noneOFFLOAD_TARGET_NAMES=nvptx-noneOFFLOAD_T_TARGET_46_FANUX:............................ 

এখানে এটা দেখানো হচ্ছে যে টার্গেট হল x86_64। তাই আমরা জিসিসির 64-বিট সংস্করণ ব্যবহার করছি। এখন 32-বিট সিস্টেম ব্যবহার করতে, আমাদের নিম্নলিখিত কমান্ড লিখতে হবে।

gcc –m32 program_name.c

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

 test_c.c:1:0:/usr/include/stdio.h:27:10 থেকে ফাইলে অন্তর্ভুক্ত:মারাত্মক ত্রুটি:bits/libc-header-start.h:এরকম কোনো ফাইল বা ডিরেক্টরি# অন্তর্ভুক্ত ^~~~~~~~~~~~~~~~~~~~~~~~~ সংকলন বন্ধ করা হয়েছে৷

এখন, gcc-এর জন্য স্ট্যান্ডার্ড লাইব্রেরি ইনস্টল করতে, আমাদের নিম্নলিখিত কমান্ডগুলি লিখতে হবে৷

sudo apt-get install gcc-multilibsudo apt-get install g++-multilib

এখন এই কোড ব্যবহার করে আমরা 32-বিট সিস্টেম এবং 64-বিট সিস্টেমে কার্যকর করার পার্থক্য দেখতে পাব।

উদাহরণ

#includemain() { printf("The size is:%lu\n", sizeof(long));}

আউটপুট

$ gcc test_c.ctest_c.c:3:1:সতর্কতা:রিটার্ন টাইপ ডিফল্ট 'int' [-Wimplicit-int] main(){^~~~$ ./a.out আকার হল:8 

আউটপুট

$ gcc -m32 test_c.ctest_c.c:3:1:সতর্কতা:'int' [-Wimplicit-int]main(){^~~~test_c.c:ফাংশনে 'প্রধান'-এ ডিফল্ট টাইপ ফেরত দিন:test_c.c:4:28:সতর্কতা:ফরম্যাট '%lu' 'লং আনসাইনডেন্ট' টাইপের আর্গুমেন্ট আশা করে, কিন্তু আর্গুমেন্ট 2 এ 'আনসাইনড int' টাইপ আছে [-Wformat=]printf("আকার হল:%lu\n" , sizeof(দীর্ঘ));~~^%u$ ./a.out আকার হল:4

  1. sin(x) এবং cos(x) এর মান গণনা করার জন্য C++ প্রোগ্রাম

  2. C++ এ তির্যক ম্যাট্রিক্স এবং স্কেলার ম্যাট্রিক্স পরীক্ষা করার জন্য প্রোগ্রাম

  3. C++ এ ঘনক্ষেত্রের আয়তন এবং সারফেস এরিয়ার জন্য প্রোগ্রাম

  4. কিভাবে কম্পাইল এবং C++ প্রোগ্রাম চালাতে হয়?