শেষ পর্যন্ত টাইপডেফ কী?


উত্তর:


175

Time_t Wikipedia নিবন্ধটি নিবন্ধটি এই কিছু আলোকপাত। নীচের লাইনটি হ'ল time_tসি স্পেসিফিকেশনে প্রকারের গ্যারান্টি নেই।

time_tডাটাটাইপ আইএসও C লাইব্রেরি সিস্টেমের সময় মান জমা করার জন্য সংজ্ঞায়িত একটি ডাটা টাইপ হয়। এই জাতীয় মানগুলি স্ট্যান্ডার্ড time() লাইব্রেরি ফাংশন থেকে ফিরে আসে । এই টাইপটি স্ট্যান্ডার্ড শিরোনামে সংজ্ঞায়িত একটি টাইপিডেফ। আইএসও সি সময়_টাকে একটি পাটিগণিত ধরণের হিসাবে সংজ্ঞায়িত করে তবে এর জন্য কোনও নির্দিষ্ট ধরণ , ব্যাপ্তি, রেজোলিউশন বা এনকোডিং নির্দিষ্ট করে না । সময় নির্ধারণের জন্য গাণিতিক ক্রিয়াকলাপগুলির অর্থগুলিও অনির্ধারিত।

ইউনিক্স এবং পোসিক্স-কমপ্লায়েন্ট সিস্টেমগুলি time_tটাইপটি signed integer(সাধারণত 32 বা 64 বিট প্রস্থ) হিসাবে প্রয়োগ করে যা ইউনিক্সের সূচনা হওয়ার পরে সেকেন্ডের সংখ্যা উপস্থাপন করে : 1 জানুয়ারী, 1970 এর মধ্যরাত ইউটিসি (লিপ সেকেন্ড গণনা করা হয়নি)। কিছু সিস্টেম সঠিকভাবে নেতিবাচক সময় মানগুলি পরিচালনা করে, অন্যরা তা করে না। 32-বিট time_tটাইপ ব্যবহারকারী সিস্টেমগুলি বছর 2038 সালের সমস্যার জন্য সংবেদনশীল ।


6
দ্রষ্টব্য, তবে, সেই সময়_আর মানগুলি কেবলমাত্র মেমরিতে সংরক্ষণ করা হয়, ডিস্কে নয়। পরিবর্তে, সময়_টাকে অবিচ্ছিন্ন স্টোরেজের জন্য পাঠ্য বা কিছু অন্য বহনযোগ্য ফর্ম্যাটে রূপান্তর করা হয়। এটি ওয়াই 2038 সমস্যাটিকে সত্যই সমস্যা হিসাবে তৈরি করবে না।

11
@ স্বাস্থ্য: একটি নির্দিষ্ট সিস্টেমে, যেখানে একই লোকেরা অপারেটিং সিস্টেম এবং সি লাইব্রেরি তৈরি করে, time_tঅন-ডিস্ক ডেটা কাঠামো ব্যবহার করে ঘটতে পারে। যাইহোক, যেহেতু ফাইল সিস্টেমগুলি প্রায়শই অন্যান্য অপারেটিং সিস্টেমগুলি দ্বারা পড়া হয়, তাই এই ধরনের বাস্তবায়ন-নির্ভর ধরণের উপর ভিত্তি করে ফাইল সিস্টেমটি সংজ্ঞায়িত করা বোকামি হবে। উদাহরণস্বরূপ, একই ফাইল সিস্টেমটি 32-বিট এবং 64-বিট উভয় সিস্টেমে ব্যবহৃত হতে পারে এবং time_tআকার পরিবর্তন করতে পারে। সুতরাং, ফাইল সিস্টেমগুলি ঠিক ("ইউটিসি-তে 1970 এর শুরু থেকে সেকেন্ডের সংখ্যা প্রদান" 32-বিট স্বাক্ষরিত পূর্ণসংখ্যার ") ঠিক তেমন সংজ্ঞা দেওয়া দরকার time_t

1
একটি দ্রষ্টব্য হিসাবে: লিঙ্কযুক্ত উইকিপিডিয়া নিবন্ধ সরানো হয়েছে, এবং এটি এখন time.hসামগ্রীর তালিকায় পুনঃনির্দেশ করে । এই নিবন্ধটি সিপ্রেফারেন্স.কমের সাথে লিঙ্ক করেছে তবে উদ্ধৃত সামগ্রীটি কোথাও পাওয়া যায় না…
মাইকেল গার্নি

3
@ মাইচাগার্নি: স্থির, যতক্ষণ নিবন্ধগুলি মুছে ফেলা হয় না আপনি সঠিক সংস্করণটি সন্ধান করার জন্য ইতিহাসের দিকে সর্বদা নজর রাখতে পারেন।
জিটা

4
-1; উইকিপিডিয়া থেকে উদ্ধৃত দাবিটি যে পসআইএক্স গ্যারান্টি time_tস্বাক্ষর করেছে তা ভুল। pubs.opengroup.org/onlinepubs/9699919799/basedefs/… নির্দেশ দেয় যে বিভিন্ন জিনিস অবশ্যই "স্বাক্ষরিত পূর্ণসংখ্যা টাইপ" বা "স্বাক্ষরবিহীন পূর্ণসংখ্যা টাইপ" হতে time_tপারে , তবে এর মধ্যে কেবল এটি বলা হয় যে এটি "পূর্ণসংখ্যার ধরণ হবে" । একটি বাস্তবায়ন time_tস্বাক্ষরবিহীন করতে পারে এবং এখনও পসিক্স-সম্মতিযুক্ত হতে পারে।
মার্ক আমেরিকা

112

[root]# cat time.c

#include <time.h>

int main(int argc, char** argv)
{
        time_t test;
        return 0;
}

[root]# gcc -E time.c | grep __time_t

typedef long int __time_t;

এর $INCDIR/bits/types.hমাধ্যমে সংজ্ঞায়িত করা হয়েছে :

# 131 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/typesizes.h" 1 3 4
# 132 "/usr/include/bits/types.h" 2 3 4

1
আমি উভয় typedef __int32_t __time_t;এবং typedef __time_t time_t;FreeBSD freebsd-test 8.2-RELEASE-p2 FreeBSD 8.2-RELEASE-p2 #8: Sun Aug 7 18:23:48 UTC 2011 root@freebsd-test:/usr/obj/usr/src/sys/MYXEN i386। আপনার ফলাফলগুলি লিনাক্সে স্পষ্টভাবে সেট করা আছে (কমপক্ষে 2.6.32-5-xen-amd64 ডেবিয়ান থেকে)।
ssice

1
@Viet একটি ফাইল তৈরি ছাড়া একটি এক-লাইনের সম্ভব: stackoverflow.com/a/36096104/895245
郝海东冠状病六四事件法轮功সিরো Santilli

1
কেন অন্তর্নিহিত ধরণের জন্য গ্রেপ __time_tএবং না time_tখুঁজে time_t? এক ধাপ ছাড়ছে?
chux - মনিকা পুনরায় ইনস্টল করুন

@ chux-ReinstateMonica - ওপি জানিয়েছে যে টাইপডেফকে সময়_আর থেকে __Time_t অবধি খুঁজে পেয়েছে। এই উত্তরটি কেবলমাত্র __ টাইম_টি কী হিসাবে সংজ্ঞায়িত হয়েছে তা জানতে চাওয়া প্রশ্নকেই সম্বোধন করছে। তবে আমি সম্মত হই যে জেনেরিক কেসের জন্য (যেখানে টাইম_টাকে __Time_t টাইপ করা যায় না), আপনাকে প্রথমে সময়_আর জন্য গ্রেপ করতে হবে, এবং তারপরে ফিরে আসার জন্য সম্ভবত আবার গ্রেপ করতে হবে
মাইকেল ফারথ

পছন্দ করুন আমি আমার উদ্বেগটিকে স্মরণ করি typedef __time_t time_t;, যদিও ওপি খুঁজে পেয়েছিল , আশেপাশের কোডটি পরীক্ষা করাও নিশ্চিত করা দরকার যে টাইপিডেফ বাস্তবে ব্যবহৃত হয়েছিল এবং এটি কেবল শর্তসাপেক্ষ সংকলনের অংশ ছিল না। typedef long time_t;খুব পাওয়া গেছে।
chux - মনিকা পুনরায় ইনস্টল করুন

30

স্ট্যান্ডার্ড

উইলিয়াম ব্রেন্ডেল উইকিপিডিয়া উদ্ধৃত করেছেন, তবে আমি এটিকে ঘোড়ার মুখ থেকে পছন্দ করি।

C99 N1256 স্ট্যান্ডার্ড খসড়া 7.23.1 / 3 "সময়ের উপাদানগুলি" বলেছেন:

ঘোষিত প্রকারগুলি হ'ল সাইজ_টি (.1.১7 এ বর্ণিত) ক্লক_টি এবং টাইম_টি যা গাণিতিক ধরণের সময়কে উপস্থাপন করতে সক্ষম

এবং 6.2.5 / 18 "প্রকারগুলি" বলেছেন:

পূর্ণসংখ্যা এবং ভাসমান ধরণেরগুলি সম্মিলিতভাবে গাণিতিক প্রকারগুলি বলা হয়।

পসিক্স s টি সাইজ_ টাইপস বলেছেন:

[CX] সময়_t একটি পূর্ণসংখ্যার প্রকার হবে।

যেখানে [CX]হয় হিসাবে সংজ্ঞায়িত :

[সিএক্স] আইএসও সি স্ট্যান্ডার্ডে প্রসারিত।

এটি একটি এক্সটেনশন কারণ এটি আরও দৃ stronger় গ্যারান্টি দেয়: ভাসমান পয়েন্টগুলি বাইরে।

জিসিসি ওয়ান লাইনার

কাসনসুই দ্বারা উল্লিখিত কোনও ফাইল তৈরি করার দরকার নেই :

echo | gcc -E -xc -include 'time.h' - | grep time_t

উবুন্টু 15.10 জিসিসি 5.2 এ শীর্ষ দুটি লাইন হ'ল:

typedef long int __time_t;
typedef __time_t time_t;

থেকে কিছু উদ্ধৃতি সহ কমান্ড বিচ্ছেদ man gcc:

  • -E: "প্রিপ্রোসেসিং পর্যায়ে পরে থামুন; সংকলকটি সঠিকভাবে চালাবেন না।"
  • -xc: সি ভাষা নির্দিষ্ট করুন, যেহেতু ইনপুট স্টিডিন থেকে আসে যার কোনও ফাইল এক্সটেনশন নেই।
  • -include file: "প্রক্রিয়া ফাইলটি যেন" # অন্তর্ভুক্ত "ফাইল" "প্রাথমিক উত্স ফাইলের প্রথম লাইন হিসাবে উপস্থিত হয়েছিল" "
  • -: স্টিডিন থেকে ইনপুট

1
প্রতিধ্বনি থেকে পাইপের কোনও দরকার নেই:gcc -E -xc -include time.h /dev/null | grep time_t
rvighne

12

উত্তরটি অবশ্যই বাস্তবায়ন-নির্দিষ্ট। আপনার প্ল্যাটফর্ম / সংকলকটির জন্য সুনির্দিষ্টভাবে অনুসন্ধান করতে, কেবলমাত্র আপনার কোডের কোথাও এই আউটপুট যুক্ত করুন:

printf ("sizeof time_t is: %d\n", sizeof(time_t));

যদি উত্তরটি 4 (32 বিট) হয় এবং আপনার ডেটা 2038 ছাড়িয়ে যেতে বোঝায় তবে আপনার কোডটি স্থানান্তর করতে আপনার 25 বছর সময় থাকতে হবে।

আপনি যদি স্ট্রিং হিসাবে আপনার ডেটা সঞ্চয় করেন তবে আপনার ডেটা ঠিক হবে: এমনকি এটি কিছু সাধারণ বিষয় যেমন:

FILE *stream = [stream file pointer that you've opened correctly];
fprintf (stream, "%d\n", (int)time_t);

তারপরে এটি ঠিক একইভাবে পড়ুন (ফ্রেড, fscanf, ইত্যাদি কোনও ইনট মধ্যে), এবং আপনার আপনার সময়কাল অফসেট হবে। নেট। এ একইরকম কাজ রয়েছে। আমি উইন এবং লিনাক্স সিস্টেমের মধ্যে কোনও সমস্যা ছাড়াই (একটি যোগাযোগের চ্যানেলের মাধ্যমে) 64৪-বিট যুগের পাস করি pass এটি বাইট-অর্ডার সংক্রান্ত সমস্যাগুলি নিয়ে আসে তবে এটি অন্য একটি বিষয়।

প্যাক্সিয়াবলোর প্রশ্নের জবাব দেওয়ার জন্য, আমি বলতে পারি যে এটি "19100" মুদ্রিত হয়েছে কারণ প্রোগ্রামটি এভাবে লেখা হয়েছিল (এবং আমি স্বীকার করি যে আমি নিজেই এটি 80 এর দশকে করেছি):

time_t now;
struct tm local_date_time;
now = time(NULL);
// convert, then copy internal object to our object
memcpy (&local_date_time, localtime(&now), sizeof(local_date_time));
printf ("Year is: 19%02d\n", local_date_time.tm_year);

printf"1900 সাল থেকে বছর" দিয়ে একটি শূন্য-প্যাডেড স্ট্রিং দ্বারা অনুসরণ (এর সংজ্ঞা: বিবৃতি সংশোধন STRING "19 বছর হল" ছাপে tm->tm_year)। 2000 সালে, মানটি 100, স্পষ্টতই। "%02d"দুটি শূন্য সহ প্যাডগুলি তবে দুটি সংখ্যার বেশি হলে ছাঁটা হয় না।

সঠিক উপায়টি হ'ল (কেবলমাত্র সর্বশেষ লাইনে পরিবর্তন করুন):

printf ("Year is: %d\n", local_date_time.tm_year + 1900);

নতুন প্রশ্ন: সেই ভাবনার যৌক্তিকতা কী?


2
আপনি সম্ভবত %zuফর্ম্যাট স্পেসিফার ব্যবহার করে size_tমানগুলি (যেমন উত্পন্ন sizeof) ফর্ম্যাট করতে ব্যবহার করতে পারেন , কারণ সেগুলি স্বাক্ষরযুক্ত ( u) এবং দৈর্ঘ্যের আকার_t ( z) ·
অ্যাড্রিয়ান গ্যান্টার

... বা ব্যবহার করুন printf ("sizeof time_t is: %d\n", (int) sizeof(time_t));এবং zসমস্যাটি এড়ান।
chux -

6

ভিজ্যুয়াল স্টুডিও ২০০৮-এর অধীনে, __int64আপনি সংজ্ঞা না দিলে এটি ডিফল্ট হয় _USE_32BIT_TIME_T। আপনি এটির সংজ্ঞা হিসাবে কী জানেন তা জানেন না এমন ভান করে আপনি আরও ভাল, যেহেতু এটি প্ল্যাটফর্ম থেকে প্ল্যাটফর্মে পরিবর্তিত হতে পারে (এবং হবে)।


2
এটি সাধারণত কাজ করে তবে আপনার প্রোগ্রামটি যদি এখন থেকে ৩০ বছর পরের ঘটনাগুলি পর্যবেক্ষণ করা হয় তবে আপনার পক্ষে 32-বিট সময় স্বাক্ষরিত না হওয়া অত্যন্ত গুরুত্বপূর্ণ ।
রব কেনেডি

4
@ রব, বাহ, ছেড়ে দাও! আমরা কেবলমাত্র ২০৩ in সালে হেডলেস মুরগির মতো দৌড়াতে শুরু করব, ওয়াই 2 কে এর মতোই। আমাদের মধ্যে কয়েকজন Y2k38 পরামর্শদাতা থেকে এক বালতি লোড তৈরি করবে, লিওনার্ড নিময় আমাদের সকলকে কীভাবে বনে গিয়ে লুকিয়ে থাকা উচিত সে সম্পর্কে আরও একটি হাসিখুশি বইটি প্রকাশ করবে ...
প্যাক্সিডিয়াবল

1
... এবং এটি সমস্ত ফুরিয়ে যাবে, জনগণ ভাবছিল যে সমস্ত গোলমালটি কী হবে wond এমনকি বাচ্চাদের উত্তরাধিকারের জন্য কিছু অর্থ উপার্জন করতে অবসর গ্রহণ থেকে বেরিয়ে আসতে পারি :-)।
paxdiablo

2
বিটিডাব্লু, আমরা কেবল একটি ওয়াই 2 কে বাগ খুঁজে পেয়েছি এবং এটি ছিল একটি ওয়েব পৃষ্ঠা যা 1 জানুয়ারী 19100 তারিখটি তালিকাভুক্ত করেছিল। পাঠকের জন্য অনুশীলন কেন ...
প্যাক্সিডিয়াবল

9
30 বছরের মধ্যে ঘটনাটি যদি "এই ব্যাকআপটির মেয়াদ শেষ হয়ে যায়" হয় তবে আপনি এখনই সমস্যায় পড়তে পারেন, 2038 এ নয় today's আজকের 32-বিট সময়_তে 30 বছর যুক্ত করুন, এবং আপনি অতীতে একটি তারিখ পান। আপনার প্রোগ্রামটি প্রক্রিয়া করার জন্য ইভেন্টগুলি সন্ধান করে, অতিরিক্ত মুলতুবি (100 বছর!) এর মধ্যে একটি আবিষ্কার করে এবং তা সম্পাদন করে। উফফ, আর কোনও ব্যাকআপ নেই।
রব কেনেডি

5

time_tlong intbit৪ বিট মেশিনে টাইপ করা হয়, অন্যথায় এটিlong long int

আপনি এই হেডার ফাইলগুলিতে এটি যাচাই করতে পারেন:

time.h: /usr/include
types.hএবং typesizes.h:/usr/include/x86_64-linux-gnu/bits

(নীচের বিবৃতিগুলি একের পর এক নয় They সেগুলি পাওয়া যাবে C Ctrl + f অনুসন্ধান ব্যবহার করে শিরোনাম ফাইল))

1) সালে time.h

typedef __time_t time_t;

2) types.h

# define __STD_TYPE     typedef  
__STD_TYPE __TIME_T_TYPE __time_t;  

3) ইন typesizes.h

#define __TIME_T_TYPE       __SYSCALL_SLONG_TYPE  
#if defined __x86_64__ && defined __ILP32__  
# define __SYSCALL_SLONG_TYPE   __SQUAD_TYPE  
#else
# define __SYSCALL_SLONG_TYPE   __SLONGWORD_TYPE
#endif  

4) আবার ভিতরে types.h

#define __SLONGWORD_TYPE    long int
#if __WORDSIZE == 32
# define __SQUAD_TYPE       __quad_t
#elif __WORDSIZE == 64
# define __SQUAD_TYPE       long int  

#if __WORDSIZE == 64
typedef long int __quad_t;  
#else
__extension__ typedef long long int __quad_t;

এই ফাইলগুলি উবুন্টু 15.10 বিটিডাব্লুতে গ্লিবসি দ্বারা সরবরাহ করা হয়েছে।
সিরো সান্তিলি 郝海东 冠状 病 六四 事件 法轮功

3
এটা long intসর্বত্র নয় । Stackoverflow.com/questions/384502/…
Zan Lynx

4

এটি বেশিরভাগ লিগ্যাসি প্ল্যাটফর্মগুলিতে একটি 32-বিট স্বাক্ষরিত পূর্ণসংখ্যার প্রকার। তবে, এটি আপনার কোডটি বছর 2038 বাগ থেকে ভোগাচ্ছে । সুতরাং আধুনিক সি গ্রন্থাগারগুলি এটিকে পরিবর্তে একটি স্বাক্ষরিত 64৪-বিট ইন্ট হিসাবে সংজ্ঞায়িত করা উচিত যা কয়েক বিলিয়ন বছর ধরে নিরাপদ।


3

সাধারণত আপনি জিডির জন্য bitsবা asmশিরোলেখ ডিরেক্টরিতে অন্তর্নিহিত বাস্তবায়ন-নির্দিষ্ট টাইপডেফগুলি পাবেন । আমার জন্য, এটা /usr/include/x86_64-linux-gnu/bits/types.h

আপনি কেবল গ্রেপ করতে পারেন, বা কোন নির্দিষ্ট শিরোনাম দেখার জন্য কাসনোইয়ের প্রস্তাবিত প্রিপ্রোসেসর অনুরোধটি ব্যবহার করতে পারেন।


1

টাইমডিফ টাইমডিফ শেষ পর্যন্ত কি?

জোরালো কোড টাইপ কি তা যত্ন করে না।

সি প্রজাতি time_tএকটি হতে বাস্তব টাইপ মত double, long long, int64_t, int, ইত্যাদি

এটি এমনকি হতে পারে unsignedহিসাবে অনেক সময় ফাংশন থেকে ফেরত মান ইঙ্গিত ত্রুটি নয় -1, কিন্তু(time_t)(-1) - এই বাস্তবায়ন পছন্দটি অস্বাভাবিক।

মুল বক্তব্যটি হ'ল "জানা দরকার" টাইপটি বিরল। প্রয়োজন এড়াতে কোড লেখা উচিত।


তবুও একটি সাধারণ "জানা দরকার" ঘটে যখন কোড কাঁচা মুদ্রণ করতে চায় time_t। বিস্তৃত পূর্ণসংখ্যার ধরণে কাস্টিং বেশিরভাগ আধুনিক কেসগুলিকে সামঞ্জস্য করবে।

time_t now = 0;
time(&now);
printf("%jd", (intmax_t) now);
// or 
printf("%lld", (long long) now);

একটিতে কাস্ট করা doubleবা long doubleখুব কার্যকর হবে, তবুও অক্ষত দশমিক আউটপুট সরবরাহ করতে পারে

printf("%.16e", (double) now);

আমি পরিস্থিতি জানার দরকার কারণ আমাকে একটি এআরএম সিস্টেম থেকে একটি এএমডি 64 সিস্টেমে সময় স্থানান্তর করতে হবে। সময়_টি হস্তে 32 বিট এবং সার্ভারে 64 বিট হয়। আমি যদি সময়টিকে কোনও ফর্ম্যাটে অনুবাদ করি এবং একটি স্ট্রিং প্রেরণ করি তবে এটি অদক্ষ এবং ধীর। অতএব কেবল পুরো সময় পাঠানো এবং এটি সার্ভারের শেষে বাছাই করা আরও ভাল much যাইহোক, আমাকে আরও টাইপটি আরও বুঝতে হবে কারণ আমি চাই না যে সংখ্যাগুলি সিস্টেমের মধ্যে ভিন্নতা অবলম্বন করে জড়িত হয়ে উঠুক, তাই আমার htonl ব্যবহার করা দরকার ... তবে প্রথমে, ভিত্তিটি জানতে হবে, আমি চাই অন্তর্নিহিত ধরণের সন্ধান করতে;)
আউল

আরেকটি "জানা দরকার" ক্ষেত্রে, স্বাক্ষরিত স্বাক্ষরিত বনাম স্বাক্ষরিতদের ক্ষেত্রে অন্তত সময় বিয়োগের সময় আপনার যত্ন নেওয়া দরকার কিনা। যদি আপনি কেবল "ফলাফল বিয়োগ করে মুদ্রণ করেন", তবে আপনি সম্ভবত একটি স্বাক্ষরিত টাইম_টি সহ কোনও সিস্টেমে যা প্রত্যাশা করেছেন তা পাবেন, তবে স্বাক্ষরযুক্ত সময়_বিহীন নয়।
মাইকেল ফারথ

@ মিশেলফर्थ কেসগুলি পূর্ণসংখ্যায় স্বাক্ষরিত সময়_আর ও স্বাক্ষরবিহীন সময়_ উভয়ের জন্যই উপস্থিত রয়েছে যেখানে কাঁচা বিয়োগের ফলে অপ্রত্যাশিত ফলাফল হবে। সি double difftime(time_t time1, time_t time0)একটি অভিন্ন বিয়োগ পদ্ধতির জন্য সরবরাহ করে।
chux - মনিকা পুনরায় ইনস্টল করুন

-3

time_tকেবল typedef8 বাইট ( long long/__int64) এর জন্য যা সমস্ত সংকলক এবং ওএস বুঝতে পারে। দিনগুলিতে, এটি কেবল long int(4 বাইট) জন্য ব্যবহৃত হত তবে এখন নয়। আপনি তাকান তাহলে time_tcrtdefs.hআপনি উভয় বাস্তবায়নের পাবেন কিন্তু ওএস ব্যবহার করবে long long


5
সমস্ত সংকলক এবং ওএস? আমার লিনাক্স সিস্টেমে সংকলকটি 4 বাইট স্বাক্ষরিত বাস্তবায়ন গ্রহণ করে।
ভিনসেন্ট

জিনক 7010 সিস্টেমে টাইম_টি 4 বাইটস।
আউল

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