আমি ‘CHAR_WIDTH’ undeclared
এই সাধারণ প্রোগ্রামটি সংকলনের চেষ্টা করার সময় ত্রুটিটি
পেয়েছি:
#include <stdio.h>
#include <limits.h>
int main()
{
printf("CHAR_BIT = %d\n", CHAR_BIT);
printf("CHAR_WIDTH = %d\n", CHAR_WIDTH);
return (0);
}
সঙ্গে
gcc ./show_char_width.c -o show_char_width
এবং জিসিসি: জিএনইউ সি 17 (উবুন্টু 8.3.0-6ubuntu1) সংস্করণ 8.3.0 (x86_64-linux-gnu) GNU সি সংস্করণ 8.3.0, GMP সংস্করণ 6.1.2, MPFR সংস্করণ 4.0.2, MPC সংস্করণ 1.1.0 দ্বারা সংকলিত , isl সংস্করণ isl-0.20-GMP, কার্নেল: 5.0.0-37-জেনেরিক।
এখানে যেমন বলা হয়েছে CHAR_WIDTH সীমাবদ্ধতার মধ্যে সংজ্ঞায়িত করা উচিত যা আমার প্রোগ্রামের অন্তর্ভুক্ত। তাহলে আমি কেন এই ত্রুটি পাই?
সঙ্গে -v
বিকল্প আমি দেখেছি যে গ্রন্থাগার ঐ ডিরেক্টরিগুলি থেকে অনুসন্ধান করা হবে:
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/8/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
/ usr / lib / gcc / x86_64-linux-gnu / 8 / অন্তর্ভুক্ত-নির্দিষ্ট একটি সীমা রয়েছে যা একই dir থেকে syslimits.h অন্তর্ভুক্ত করে যার ফলে পরের সীমাগুলি অন্তর্ভুক্ত হয়।, যে আমার বোধ থেকে অবস্থিত হওয়া উচিত / usr / অন্তর্ভুক্ত ডিরেক্টরি।
CHAR_WIDTH ম্যাক্রো প্রকৃতপক্ষে সেই ফাইলগুলিতে সংজ্ঞায়িত হয়েছে তবে এমন কিছু শর্তের অধীনে যা আমার প্রকৃত জ্ঞানের চেয়ে বেশি।
আমি এখনও অবধি যে শর্তগুলি পেয়েছি সেগুলি হ'ল:
/* The integer width macros are not defined by GCC's <limits.h> before
GCC 7, or if _GNU_SOURCE rather than
__STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. */
#if __GLIBC_USE (IEC_60559_BFP_EXT)
# ifndef CHAR_WIDTH
# define CHAR_WIDTH 8
# endif
এবং :
#ifdef __STDC_WANT_IEC_60559_BFP_EXT__
/* TS 18661-1 widths of integer types. */
# undef CHAR_WIDTH
# define CHAR_WIDTH __SCHAR_WIDTH__
এজন্য আমার আপনার সহায়তা দরকার।
দ্রষ্টব্য: আমি A.5.1 তে বর্ণিত অন্যান্য সমস্ত ম্যাক্রোগুলির সাথে একই ত্রুটি পেয়েছি: উল্লেখযোগ্য: SCHAR_WIDTH, INT_WIDTH, LONG_WIDTH, ইত্যাদি
__STDC_WANT_IEC_60559_BFP_EXT__
কমান্ড লাইনের মাধ্যমে এটি সংজ্ঞায়িত বা পাস করুন
CHAR_BIT
8 হওয়া দরকার , যার অর্থ CHAR_WIDTH
পসিক্স সিস্টেমে 8 টি হওয়া উচিত।
#define
আগে কি করেছিলেন #include
?