کامپایل
|
2004-08-17, 01:39 AM,
ارسال : #1
|
|||
|
|||
کامپایل
چگونه می توانم کدی را که به زبان++ C نوشتم در Shell انرا کامپایل کنم؟
با cppکه نشد لطفا راه حل های دیگری بیان کنید با تشکر :x |
|||
2004-08-17, 02:30 PM,
ارسال : #2
|
|||
|
|||
سلام . شما می توانید از دستورات gcc و یا c++ استفاده کنید . مثلا برای کامپایل فایل souce.cpp می تونید به صورت زیر عمل کنید :
c++ -o target source.cpp target اسم فایل تولیدی خروجی است . برای کنترل بهتر می تونید به صفحات راهنمای همراه توزیع لینوکستون مراجعه کنید . برای دوستان به من خورده نگیرن باید بگم که بهترین کار اینه که شما یه makefile بنویسید . به این ترتیب بعد از هرگونه تغییر تو کد منبع فقط با تایپ دستور make می تونید تاثیر این تغییر رو تو برنامه تون ببنید . امیدوارم این توضیحات بدردتون بخوره . |
|||
2004-08-17, 06:41 PM,
ارسال : #3
|
|||
|
|||
unixi, جان ورود شما را به سایت تبریک می گویم .
اگر ممکنه از کمی در مورد ساختن makefile ها توضیح دهید. باتشکر To Follow The Path Look To The Master Follow The Master Walk With The Master See Through The Master Become The Master |
|||
2004-08-19, 10:39 AM,
ارسال : #4
|
|||
|
|||
سلام . اگه اجاز ه بدین یه کمی در مورد Make اینجا می گم (به دستور WhiteHatجان) :
خوب ما که نه ولی شما حتما توی لینوکس برنامه نویسی کردین . می دونید که بعد از نوشتن و یا ایجاد تغییرات در کد منبع برنامه با یک مشکل مواجه هستید و آن هم دیدن نتیجه کار است . خوب یه راهش کامپایل مجدد کد به صورت دستی است که برای برنامه های چند فایلی و حجیم دردسرساز و وقتگیر است . راه دیگه استفاده از برنامه make که از برنامه های اصلی و قدیمی یونیکس است . استفاده از این برنامه مزایای مهمی داره از جمله اینکه : دیگه نیازی نیست تا تمام فایلها رو به صورت دستی کامپایل کرده و لینک کنید . چون make تمام این کار رو به یکجا واستون انجام میده . و دیگه اینکه make فقط فایلهایی رو که باید و نه تمام کد رو کامپایل می کنه . (مثل فایلهایی که تغییر کرده اند) در نتیجه وقت بسیار کمتری از برنامه نویس گرفته می شه . البته make همین طوری شیرجه نمی زنه وسط کدتون . بلکه از یک فایل به عنوان راهنما استفاده می کنه به نام makefile . که شما باید این makefile رو خودتون و با یک سری قواعد مشخص بنویسید . تو این فایل باید فایهای مبدا و مقصد ، برنامه ای که برای کامپایل کد استفاده می شه و یک سری پارمترهای دیگه رو مشخص کنید که چون اگه یه کم وقت بدید یه چیز کاملتر رو آماده می کنم . در نهایت به خاطر ادبیات ضعیفم ازتون معذرت می خوام!!! :oops: اگه به توضیح بیشتری احتیاج دارید هم بفرمایید تا کاملتر و با چند مثال توضیح بدم . |
|||
2004-08-19, 11:36 AM,
ارسال : #5
|
|||
|
|||
نقل قول :(به دستور WhiteHatجان)من که دستور ندادم :oops: خواهش کردم من مخلص شما هستم. ممنون از توضیحاتتان ولی اگر با یک مثال بگویید ممنون می شویم موفق باشید To Follow The Path Look To The Master Follow The Master Walk With The Master See Through The Master Become The Master |
|||
2004-09-16, 03:38 AM,
ارسال : #6
|
|||
|
|||
من یه مثال ساده می زنم. اول از همه چیز اسم فایل make باید Makefile باشه. به کوچک و بزرگ بودن حروف دقت کنید.
حالا من یه برنامه دارم دارای فایلهای main.c و header.c و header.h قبل از کمپایل main.c باید header.c کمپایل بشه. اینو میگن dependency خوب این هم Makefile [ltr] all: header.o gcc -o myprog main.c header.o: header.c gcc -c header.c [/ltr] حالا شما با دستور make کد خودتون رو مپایل کنید. اگه header.c تغییر کرده باشه هم header.c و هم main.c کمپایل میشند و اگه فقط make.c تغییر کرده باشه فقط make.c کمپایل میشه و اگه هیچکدوم تغییر نکرده باشند هیچ عمل کمپایلی انجام نمیشه. تذکر: من هیچ راهی نداشتم که Makefile بالا را از چپ به راست بنویسم. سطرهای دوم و چهارم هم با یک tab باید شروع بشند و نه با space. اگه اشکالی داشتین: <!-- e --><a href="mailto:[email protected]">[email protected]</a><!-- e --> خوشحال میشم بتونم کمکی بکنم. |
|||
2004-09-25, 03:13 PM,
ارسال : #7
|
|||
|
|||
آقای مهمان all:header.o و header.o:header.c چیه؟؟؟لطفا بیشتر توضیح بدید.ممنون.
|
|||
2004-10-16, 11:35 PM,
ارسال : #8
|
|||
|
|||
If you have yourfile.c,It is your source code file.If you have yourfile.o,It is your object file.
|
|||
|