PDA

نسخه کامل مشاهده نسخه کامل : آيا مي توان سورس كدهاي نوشته شده براي لينوكس را براي ويندوز كامپايل كرد؟



Plex
16-08-2006, 11:27
با سلام
دوستان لطفا بفرماييد آيا مي توان سورس كدهاي نوشته شده براي لينوكس را براي ويندوز كامپايل كرد؟
با تشكر

Bayazee
16-08-2006, 16:14
بستگي دراه كه از چه زباني استفاده مي كني . چه تكنولوژي به كار بردي و از چه توابعي استفاده كردي ! برخي زبانهاي چون C يا ++c بايد بدون تغيير يا با اندكي تغيير امكان كامپايل بر روي هر دو محيط رو داشته باشند . اما زبانهايي چون جاوا ، پايتون ، Php با انعطاف بيشتري اين قابليت رو دارند و بنا به ذاتشون نياز به كامپايل هم نيست . اما بعضي ممكنه در اين زبانها هم از توابعي استفاده بشه كه مختص يك سيستم عامل هست ! و در ديگري جواب نمي ده !!

Plex
17-08-2006, 10:30
سلام
Bayazee جان ممنونم راهنمايي كرديد. زبان مورد استفاده سي پلاس پلاس هست لطفا اگه امكان داره كمي بيشتر راهنمايي كنيد.
با تشكر

Bayazee
17-08-2006, 18:03
سلام
بله بايد بدون تغيير و يا تغييرات كمي كامپايل بشه !
ولي خوب فرقهايي هم هست و به احتمال بسيار زياد به تغييراتي نياز خواهي داشت !‌ كه بعضا اعمال اين تغييرات سخت تر از نوشتن دوباره برنامه هستش !! مثلا لينوكس فايل هدر conio.h رو نداره !‌ چون از نظر لينوكس اين فايل اضافي هستش ! و اموده با روش هاي ديگه دستورات اين فايل رو پياده سازي مي كنه ! اگر توضيحات بيشتري خواستي يه توضيحي در مورد نوع برنامت و كارهايي كه بايد انجام بده رو ارائه كن تا بتونم بيشتر كمكت كنم ...

Plex
18-08-2006, 14:57
سلام
Bayazee جان ممنونم كه وقت مي گذاري كمكم كني. منظورم از سوال فوق به خاطر يه پروژه خاص نيست در حالت كلي اين سوال رو پرسيدم چون من خودم ويژوال بيسيك كار مي كنم و تازگي ها مي خوام ويژوال سي رو هم ياد بگيرم. و چون اين طور كه پيداست تعداد زيادي از برنامه هاي لينوكس رو هم با سي نوشتن. مي خواستم بدونم زبان سي كه تو لينوكس استفاده مي شه چه تفاوت هايي با ويژوال سي داره ؟ مثلا براي اينكه Mozilla FireFox رو بتوان هم در ويندوز و هم در لينوكس استفاده كرد بايد كدهايي متفاوت براي هر دو محيط نوشت يا اينكه مي توان در يكي از محيط ها برنامه رو نوشت و همان را براي محيط ديگر هم كامپايل كرد؟
براي كامپايل پروژه هاي لينوكس در ويندوز كه با سي نوشته شده اند مي توان از ويژوال سي استفاده كرد؟ يا به كامپايلر خاصي نياز است؟
در حالت كلي اگر بخواهيم يه برنامه در حد و اندازه هاي FireFox رو كه مخصوص لينوكس هست و با زبان سي نوشته شده براي ويندوز كامپايل كنيم خيلي دردسر داره؟ يا راحت مي تونيم اين كارو بكنيم؟( يا حداقل با زحمت كم)

Bayazee
18-08-2006, 16:54
سلام
خواهش مي كنم !
منطق و اصل برنامه نويسي در هردو يكي هست اما با تغييراتي جزئي !
نه فكر نمي كنم برنامه اي در حد Firefox رو بشه به اين صورت نوشت ! چون مثلا يه برنامه اي رو با ++VC كار مي كني . ديگه تو لينوكس اين كامپايلر رو نداريم و براي مثال بايد تو Qt نوشته بشه ! حتما يه قسمت هايي از برنامه و الگوريتم كلي برنامه يكسان خواهد بود اما بايد دوباره نوشته بشه . ولي مي شه از بخش هاي يكسان استفاده مجدد كرد !‌
برنامه ايي به صورت سورس هست كه در هردو محيط كامپايل مي شه ! در اين جور برنامه ها در جاهايي كه نياز به كد مجزا باشه دو نوع كد براي سيستم هاي مختلف نوشته مي شه و بسته به سيستمي كه برنامه در حال نصب هست ازش استفاده مي شه ....
اما زبانهايي چون پايتون اين امكان رو دارند !‌ و چون زبان تفسيري هستند حتي بدون نياز به كامپايل مجدد در هرد سيستم عامل بدون مشكل اجرا مي شوند . و در ذات برنامه تمهدياتي انديشيده شده تا برنامه نويسي پورتابل بسيار راحتر بشه ! مثلا يكي از مشكلات كار با سيستم فابل هستش ! مثلا در لينوكس از اسلش استفاده مي شه و در ويندوز از بك اسلش يا ... كه همه اينها در زباني چون پايتون بصورت دروني مديرت و اجرا ميشه . مي شه از تابعي استفاده كرد كه مثلا آدرس فولدر Home رو برگردونه كه در سيستم عامل لينوكس يه چيزي مثل /home/mehdi/ و در ويندوز C:\Documents and Settings\mehdi رو برگشت مي ده ....

Plex
19-08-2006, 11:28
سلام
دوست عزيز به خاطر كمكي كه كرديد متشكرم.