TGViewer
HPC Nerds | High Performance and Scientific Computing HPC Nerds | High Performance and Scientific Computing @hpcnerds · 243 subscribers
Post #23 432
چطور کتابخانه های C++ رو نصب و استفاده کنیم؟


خیلی وقت ها که یه کتابخونه برای C++ معرفی میکنم ازم میپرسن چطور باید یک کتابخونه که جز کتابخانه های استاندارد C++ نیست رو نصب و استفاده کنیم.

برای استفاده بدون ابهام و مشکل از C++ و کتابخانه هایی که واسش توسعه پیدا کرده لازم هست با چندتا مفهوم و ابزار مهم آشنا بشیم که در ادامه اونا رو میگم.

1⃣ یاد بگیریم بدون IDE و مستقیما با استفاده از یک کامپایلر مثل GCC کدمون رو کامپایل کنیم.

2⃣ با مفهموم کتابخانه های static و dynamic  آشنا بشیم و یاد بگیریم که چطور با کامپایلر یک کتابخونه رو به کدی که نوشیم لینک کنیم.

3⃣ وقتی پروژمون کمی بزرگ بشه و تعداد کتابخونه هایی که استفاده میکنیم بیشتر، نوشتن مستقیم دستورات برای کامپایلر کار طاقت فرسایی میشه. تو این مرحله نیاز داریم کار با یک build system  مثل CMake رو یاد بگیریم. الان مدیریت پروژه و لینک کردن کتابخونه ها واسمون راحت تر میشه

https://cmake.org/getting-started/

چند سال پیش این موارد رو تو این دو تا فیلم توضیح دادم:

https://www.aparat.com/v/6xrj8
https://www.aparat.com/v/p17z1e3

4⃣ هنوز مجبوریم کتابخونه ها رو دستی نصب کنیم . پس برای ساده تر کردن کارمون میتونیم از یک package manager هم در کنار CMake استفاده کنیم تا نصب و مدیریت نیازمندی ها رو هم خودکار انجام بدیم. بر خلاف زبان های Julia و یا پایتون ، زبان C++ یک package manager رسمی نداره اما گزینه های غیر رسمی خوبی وجود داره که من به شخصه vcpkg رو دوست دارم
https://vcpkg.io/en/

#cpp

@hpcnerds
cmake.org Getting Started with CMake Using CMake shouldn’t be hard. We want to give you the resources you need to confidently leverage CMake as your build system of choice. The resources below will help you begin your CMake journey.
  • ❤ 7
  • 👍 2
  • 🙏 1
More from @hpcnerds
  1. Jun 10, 2024قراره یک ورکشاپ یک روزه در مورد کاربرد های Julia در HPC توسط Oak Ridge National Laboratory…
  2. Jun 6, 2024این تیکه کد رو ببینید، وقتی اجرا بشه 7 تا عمل ضرب انجام میده: x = x*x*x*x*x*x*x*x; به صورت…
  3. Jun 1, 2024قبلا در مورد BLAS گفتم یکی از تکنیک هایی که پیاده سازی های سریع ازش استفاده قابل توجهی کرد…
  4. May 31, 2024در ایران برای دسترسی به سرور های محاسبات سنگین چه گزینه هایی داریم؟ فرض کنید که یک پروژه د…
  5. May 31, 2024چند سالی میشه که Intel داره روی یک مجموعه ابزار مخصوص HPC کار میکنه به نام oneAPI . بعضی ا…
  6. May 30, 2024برای سال ها محبوب ترین استاندارد برای انجام محاسبات توزیع شده MPI بوده. یکی از پروژه های ک…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →