আপনার কোডটির উপর নির্ভর করে বৈশিষ্ট্যগুলির জন্য কনফিগার / সংকলন সময় যাচাইয়ের উপায়। নির্দিষ্ট ডিভাইসগুলির জন্য চেক করা সমস্যাযুক্ত কারণ মিথ্যা-ধনাত্মক বিষয়গুলি এড়ানো কার্যত অসম্ভব (কোনও ব্যক্তি খুব কম চেষ্টা করেও ইচ্ছাকৃতভাবে আপনার সাথে মিথ্যা বলতে পারে) এবং এই ধরনের চেকগুলির উদ্দেশ্য এই প্রশ্নের উত্তর দেওয়া: "আমি কি এখানে তৈরি করতে পারি? হ্যাঁ যদি কোন কোডের পথটি হওয়া উচিত আমি ব্যবহার করছি? " , না "এটি কি এমন একটি ডিভাইস যা আমি নামটি পছন্দ করি?"
এই রেফারেন্স অনুসারে (সাধারণভাবে পূর্বনির্ধারিত ম্যাক্রোর উপর তথ্যের একটি দুর্দান্ত উত্স) আপনি ম্যাক্রোটি ব্যবহার করতে পারেন:
__arm__
জিসিসি / আর্ম সংমিশ্রণ সনাক্ত করতে।
আমি আমার সাথে এটি পরীক্ষা করে দেখলাম:
#include <stdio.h>
int main() {
#ifdef __arm__
printf("Why yes it is, thank you\n");
#endif
return 0;
}
যা প্রকৃতপক্ষে বার্তাটি মুদ্রণ করেছিল।
নোট করুন যে এটি ফেলবো সব আর্ম ডিভাইস, তাই আমার সুপারিশ আপনার বিল্ড টুল (যেমন অংশ ব্যবহার করতে হবে cmake/autoconf
উপস্থিতি চেক করতে) /opt/vc/include/bcm_host.h
হিসাবে ভাল।
উদাহরণস্বরূপ সঙ্গে
AC_CHECK_HEADERS
অটোকনফে:
AC_CHECK_HEADERS(/opt/vc/include/bcm_host.h)
কারণসমূহ:
HAVE__OPT_VC_INCLUDE_BCM_HOST_H
কনফিগার্ডে সংজ্ঞায়িত করা
অথবা সিএমকে:
include(CheckIncludeFile)
CHECK_INCLUDE_FILE(/opt/vc/include/bcm_host.h BCMHOST)
আমি সত্যিই এটি সনাক্তকরণের আরও ভাল উপায় আছে বলে মনে করি না - আপনি হার্ডওয়্যার নির্দিষ্ট জিনিসগুলির জন্য কনফিগার / সিএমকে চেহারা পেতে পারতেন তবে একই সোসির সাথে সেখানে অন্য প্ল্যাটফর্মগুলি থাকতে পারে তবে এটি সত্যিই নির্ভরযোগ্য নয় এবং আপনি আসলে কী যত্ন করছেন সেই শিরোলেখ ফাইলটির অস্তিত্ব হ'ল যেহেতু আপনাকে প্রদত্ত টার্গেটের জন্য কীভাবে তৈরি করতে হয় তা আপনাকে অবহিত করে। এমনকি যদি আপনি এটি রাস্পবেরি পাই প্রমাণ করতে পারেন তবে সঠিক শিরোলেখ ফাইলটি আপনি এখনও আটকে থাকতে পারেন না এবং একটি ত্রুটি এটির চেয়ে একটি মিস-বিল্ডের চেয়ে ভাল।
আপনি যদি সত্যিই এটি দেখতে চান তবে এটি একটি পাই (বা পর্যাপ্তরূপে অনুরূপ) আপনি এমন কিছু সাধারণের মতো অবলম্বন করতে পারেন:
grep -o BCM2708 /proc/cpuinfo
বা (রাস্পেরপি 2 এবং 3 এর জন্য):
grep -o BCM2709 /proc/cpuinfo
কনফিগার সময়, যা এসসির সাথে মিলবে রাস্পবেরি পাই ভিত্তিক।
আপনি আরও কয়েকটি পরীক্ষায় ফেলতে পারেন (উদাহরণস্বরূপ ইউএসবি আপনাকে এটি আরও কিছুটা খুঁজে বের করতে সহায়তা করবে এবং এটি কোনও মডেল এ বা বি ডিভাইস থাকলেও ইঙ্গিত দেবে), তবে কিছুই নিশ্চিতভাবে বলা যথেষ্ট নয়।
আপনি কোনও পরিচিত তালিকার বিপরীতে / বুটে ফাইলগুলির হ্যাশগুলি পরীক্ষা করতে পারেন তবে ফার্মওয়্যার আপডেট বা এমন একটি বেসরকারী তথ্য নেই যা আপনি জানেন না তবে আপনি তৈরি করতে পারবেন না। (বা একই বুটিং সেটআপ সহ অন্যান্য অনুরূপ নন-পাই ডিভাইস)
__ARMEL__
সংজ্ঞায়িত উপায়টি ঠিক আপনার মতো__arm__
। আমি এখনও সেরা ম্যাক্রো সন্ধান করতে বিরক্ত করি নি।