C99 stdint.h শিরোনাম এবং এমএস ভিজ্যুয়াল স্টুডিও


113

আমার বিস্ময়ে আমি কেবল আবিষ্কার করেছি যে এম 99 ভিজ্যুয়াল স্টুডিও 2003-এর উপরের দিকে C99 stdint.h অনুপস্থিত। আমি নিশ্চিত যে তাদের কারণ আছে তবে আমি কী অনুলিপি ডাউনলোড করতে পারি তা কি কেউ জানেন? এই শিরোনামটি ছাড়া আমার কাছে uint32_t ইত্যাদির মতো দরকারী ধরণের কোনও সংজ্ঞা নেই I


41
এটির আপডেট হিসাবে: এমএসভিসি ২০১০-তে এখন অন্তর্ভুক্ত রয়েছেstdint.h
মাইকেল

এই ব্লগটি দিয়ে যাচ্ছেন: ব্লগস.এমএসএনএন / বি / ভিসিবি্লগ / আর্কাইভ / ২০১৪
ভলকান রেভেন

উত্তর:


82

দেখা যাচ্ছে আপনি এই হেডারের একটি এমএস সংস্করণ ডাউনলোড করতে পারেন:

https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h

একটি বহনযোগ্য এখানে পাওয়া যাবে:

http://www.azillionmonkeys.com/qed/pstdint.h

সফটওয়্যার র‌্যাম্বলিংয়ের ব্লগকে ধন্যবাদ জানাই


13
একটি পাবলিক ডোমেইন (এমআইটি / বিএসডি লাইসেন্স নয় - আপনার এমপিভিসি-র জন্য একটি কপিরাইট অ্যাট্রিবিউশনের আশেপাশে রাখার দরকারও নেই) stdint.h (মিনজিডাব্লু থেকে কিছুটা সংশোধিত সংস্করণ): snipplr.com/view/18199/stdith
মাইকেল

প্রথম লিঙ্ক
404 এস

মূল উত্তরটি পরিবর্তিত হয়েছে তবে: github.com/mattn/gntp-send/blob/master/incolve/msinttyype/… এসএনএন লিঙ্কটি মারা গেছে
স্মুডেট

46

এগুলি কেবল নিজেরাই সংজ্ঞায়িত করুন।

#ifdef _MSC_VER

typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;

#else
#include <stdint.h>
#endif

4
আমি কি কিছু মিস করছি বা এটি টাইপডেফ না স্বাক্ষরিত হওয়া উচিত __int64 uint64_t; ?
রোমান এ। টেচার

1
এবং আক্ষরিক uint64_t মানগুলি ব্যবহার করতে #define U64(u) (u##ui64)এটি উইন্ডোজ এবং #define U64(u) (u##ULL)অন্যথায় কার্যকর is
নিক্লাস

45

আপডেট: ভিজ্যুয়াল স্টুডিও 2010 এবং ভিজ্যুয়াল সি ++ 2010 এক্সপ্রেস উভয়ই আছে stdint.h। এটি পাওয়া যাবেC:\Program Files\Microsoft Visual Studio 10.0\VC\include


3
পাশাপাশি সি ++ ব্যবহারকারীদের জন্য <cstdint> std::
এড্রিয়ান ম্যাকার্থি

23

ভিজ্যুয়াল স্টুডিও 2003 - 2008 (ভিজ্যুয়াল সি ++ 7.1 - 9) C99 সামঞ্জস্যপূর্ণ বলে দাবি করবেন না। (তার মন্তব্যের জন্য রডেন্টাটোকে ধন্যবাদ।)


11

বুস্টে আপনি যে ধরণের সন্ধান করছেন সেগুলির সাথে সিএসডিডিএনটিপিপি হেডার ফাইল রয়েছে: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp


1
বুস্ট হ'ল সি ++, প্রশ্নটি সি 99
রেমো.ডে।

4
এটি পরিষ্কার নয় - তিনি কোন ভাষা ব্যবহার করছেন তা উল্লেখ না করে তিনি ভিজ্যুয়াল স্টুডিওতে সি 99 শিরোনাম সম্পর্কে জিজ্ঞাসা করছেন। যে কোনও ক্ষেত্রে এটি সি 99 হতে পারে না কারণ মাইক্রোসফ্ট এটি সমর্থন করে না।
নেমানজা ত্রিফুনোভিচ

ওপি <stdint.h>বুস্ট শিরোনামের অনুলিপি চায় ।
jww

5

মাইক্রোসফ্ট সি 99 সমর্থন করে না এবং কোনও পরিকল্পনা ঘোষণা করে নি। আমি বিশ্বাস করি যে তারা সি ++ স্ট্যান্ডার্ডগুলি ট্র্যাক করতে চায় তবে সি ++ এর সাবসেট ব্যতীত সিটিকে কার্যকরভাবে অচল মনে করে।

ভিজ্যুয়াল স্টুডিও 2003 এর নতুন প্রকল্পগুলিতে এবং পরে "সি ++ কোড (/ টিপি হিসাবে সংকলন করুন") বিকল্পটি ডিফল্ট হিসাবে সেট করা আছে, সুতরাং কোনও .c ফাইল সি ++ হিসাবে সংকলিত হবে।


4

আরেকটি বহনযোগ্য সমাধান:

পস: পোর্টেবল ওপেন সোর্স জোতা

"POSH হ'ল একটি সহজ, পোর্টেবল, সহজেই ব্যবহারযোগ্য, সহজেই সংহত করা, নমনীয়, মুক্ত উত্স" জোতা "ক্রস-প্ল্যাটফর্ম লাইব্রেরি এবং অ্যাপ্লিকেশনগুলি রচনাগুলি তৈরি এবং পোর্ট করার ক্ষেত্রে উল্লেখযোগ্যভাবে কম ক্লান্তিকর করার জন্য ডিজাইন করা" "

http://poshlib.hookatooka.com/poshlib/trac.cgi

যেমনটি বইটিতে বর্ণিত এবং ব্যবহৃত হয়েছে: পোর্টেবল কোড লিখুন: একাধিক প্ল্যাটফর্মের জন্য সফ্টওয়্যার বিকাশের একটি ভূমিকা ব্রায়ান হুক http://books.google.ca/books?id=4VOKcEAPPO0C দ্বারা

-Jason


1
পশলিব উইকিপিডিয়া নিবন্ধ থেকে, লিঙ্ক অনুমোদনটি হ'ল: ব্যবহারকারীর নাম: অতিথি, পাসওয়ার্ড: অতিথি 123
জেপেজেট

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