این پست راجع به روش درست کردن سرایند شخصی میخوام توضیح بدم. 
 
 یه موضوع که خیلی به کارتون میاد. . . 
 
این کار خیلی به دردتون میخوره . شما میتونید توابع مورد نیاز ، کلاس های مورد نیاز و .... رو توی یه سرایند بزارید ، کد های مهم رو نگه دارید و یا حتی به کسی امکان استفاده از کدتون رو بدید. بدون این که اون بتونه کار شما رو بدزده ( توابعتونو عوض کنه مثلا ).
همچنین توی کار های گروهی ، هر فردی یه بخش از کار رو داره و برای راحتی میتونه اونو توی یه سرایند قرار بده و به فرد بالا دستیش بده تا اونا رو کنار هم بزاره.
برای ساختن یه سرایند ، وارد ویژوال استادیو میشید و به جای console application گزینه ی win 32 project رو می‌زنید. 
 
سپس در منوی تنظیمات ، گزینه static library را انتخاب کرده و تیک گزینه precompiled header رو بر می‌دارید. 
 
حالا به همون روالی که توی آموزش 1 گفته شد ، شما یه فایل .cpp به پروژتون اضافه کنید . بعد دوباره همون مراحل رو تکرار کنید و ایندفعه یه header file به پروژتون اضافه کنید. یعنی .h 
 
حالا از اینجا به بعد دو تا رویکرده :
  1. می تونید کاری به فایل .cpp نداشته باشید ، تمام کد هاتون رو توی فایل .h بزنید و همونو به بقیه بدید. استفاده از این روش برای دیگران یکم راحت تره. چون دنگ و فنگ اد کردن library به پروژه رو نداره. اما کد برنامه هاتون در اختیار همه هست و خیلی راحت بقیه می‌تونن header شما رو مال خودشون کنن. 
  2. می‌تونید اسم توابع و نام کلاس ها و توابع داخلشون رو توی فایل .h بزارید و کد داخل توابع رو توی فایل .cpp بزارید و بعد با استفاده از VS به راحتی یک library بسازید. این روش حرفه ای تره و کسی نمی‌تونه کد شما رو بدزده.
من با روش دوم پیش میرم اما روش اول رو یه توضیح کوتاه میدم. شما تمام توابع و کلاس ها رو ، کامل توی فایل .h می‌نویسید ( اصلا می‌تونید از اول فایل .cpp رو add نکنید) . بعد از تموم شدن save می‌کنید. توی مسیری که پروژه رو save کردید ، می‌تونید فایل هدر رو پیدا کنید. اگر این فایل رو کنار فایل .cpp دیگه ای بزارید، میتونید از هدرتون توی فایل .cpp استفاده کنید. فقط توجه کنید که در هر دو روش، برای فراخوانی header های شخصی باید اینطوری نوشت :
#include"myHeader.h";

یعنی به جای بزرگتر و کوچکتر، از "" استفاده می‌کنید.

 

اما روش دوم . شما باید متن داخل توابع رو توی فایل .cpp بنویسید. همچنین باید توی فایل .cpp حتما header خودتون رو include کنید.

نکته مهم هم این که یادتون نره header های مربوط به دستوراتی که استفاده می‌کنید رو include کنید.

* برای راحتی ، میتونید وقتی اسم تابعو نوشتید ، موس رو بیارید روش و علامت چراغ رو بزنید. گزینه اول رو اگه بزنید ، خودش فایل .cpp رو ایجاد میکنه و بعد هم می‌تونید همون جا خیلی راحت تعریف تابعو بنویسید.

 

به مثال زیر توجه کنید : 

 

بعد از این که کد های داخل هدر تموم شد ، نوبت به ساختن فایل lib است. فایل lib کد های فایل cpp شما رو نگه میداره اما به یه زبونی که خودش می‌شناسه. اینطوری اطلاعات داخلی سرایند شما به صورت فایل lib به بقیه داده میشه و اونا می‌تونن از سرایند شما استفاده کنن اما امکان تغییر دادن اونو ندارن. 

حالا برنامه رو اجرا کنید تا اروری شبیه به ارور زیر بده : 

 

این ارور به منزله تمام شدن کار شماست. حالا توی مسیری که پروژه رو ذخیره کردید ، توی پوشه debug میتونید فایل lib سرایند خودتون رو ببینید

این فایل lib و فایل .h برای انتقال دادن هدر کافیه. دیگه لازم نیست فایل .cpp ( سورس برنامه ) رو در اختیار کسی بزارید. 

 


نکته مهم دیگه روش استفاده از این سرایند هست. توی یه پروژه دیگه، این دو تا فایل ( .h و .lib ) رو کنار سورس پروژه می‌ذارید . بعد فایل .h رو توی برنامه include می‌کنید ( با همون طرز صدازدنی که گفتیم ) و فایل .lib رو هم به پروژتون اضافه میکنید. برای این کار روی پروژه راست کلیک می‌کنید و گزینه properties رو می‌زنید.

حالا از منو سمت چپ ، مسیر زیرو دنبال کنید :

configuration properties -> Linker -> Input

 حالا گزینه اول ، Additional Dependencies ، سمت راست یه فلش کوچیک به سمت پایین هست. اونو می‌زنید و Edit... توی صفحه جدید ، همون منوی بالا که اورده ، اسم کتابخونه ( = فایل .lib) و فرمتش رو می‌زنید . مثلا :

myHeader.lib

و هر دو صفحه رو با اوکی می‌بندید. حالا کتابخونه و سرایند شخصی ما کاملا قابل استفاده است. 

 

اگه سوالی داشتید حتما بپرسید توی کامنت ها .