انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: saeidmot در 15 اردیبهشت 1401، 04:55 ب‌ظ

عنوان: راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: saeidmot در 15 اردیبهشت 1401، 04:55 ب‌ظ
سلام. میخواستم برنامه ای در زبانهای c وبا C شارپ و یا پایتون بنویسم که خروجی آن اجرایی باشد و کد اصلی برنامه قابل خواندن نیاشد.لطفا راهنمایی کنید.
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: َUxmlai-ad در 15 اردیبهشت 1401، 05:23 ب‌ظ
خب هر چی رو که کامپایل کنید دیگه کد منبع رو نمی تونید بخونید مگر اینکه برنامه رو decompile کنید و خروجی برنامه کامپایل شده یک فایل اجرایی هست دیگه  ???
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: saeidmot در 15 اردیبهشت 1401، 06:32 ب‌ظ
چجوری  یک برنامه پایتون یا c# رو کامپایل کنم که خروجی ما بجای یک فایل exe یا py ، یک فابل deb باشه؟
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: َUxmlai-ad در 15 اردیبهشت 1401، 06:41 ب‌ظ
فایل های deb یک فایل اجرایی نیستن اونها یک فایل فشرده هستن بعد چرا فایل exe ؟
باید اول کامپایلش کنین بعد ازش یه فایل deb یا هر چیز دیگه‌ای بسازید
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: nixoeen در 15 اردیبهشت 1401، 07:26 ب‌ظ
لینک (https://www.debian.org/doc/manuals/maint-guide/)
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: saeidmot در 15 اردیبهشت 1401، 08:26 ب‌ظ
فایل های deb یک فایل اجرایی نیستن اونها یک فایل فشرده هستن بعد چرا فایل exe ؟
باید اول کامپایلش کنین بعد ازش یه فایل deb یا هر چیز دیگه‌ای بسازید
از سوالهای ناشیانه ام عذرخواهم.وقتی یک فایل c++  رو توی اوبونتو کامپایل کردم 2 تا فایل جدید ایجاد شد که یکی بدون پسوند وبه شکل چرخ دنده بود و دیگری با پسوند o بود. چجوری باید ازش یک فایل اجرایی مشابه فایلهای exe در ویندوز بسلزم.
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: ɴɪᴍᴀ در 15 اردیبهشت 1401، 08:35 ب‌ظ
اون فایل بدون پسوند فایل احرایی شماست.
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: saeidmot در 15 اردیبهشت 1401، 08:43 ب‌ظ
اون فایل بدون پسوند فایل احرایی شماست.
بله جواب داد. با پایتون هم میشه همینکار رو کرد؟ آخه پایتون فقط یک فایل py  داره.متشکرم
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: دانیال بهزادی در 15 اردیبهشت 1401، 08:46 ب‌ظ
همون پروندهٔ py پروندهٔ اجرایی شماست
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: saeidmot در 15 اردیبهشت 1401، 08:50 ب‌ظ
همون پروندهٔ py پروندهٔ اجرایی شماست
آخه میخوام نشه کدهایی که نوشتم رو خوند و فقط اجرا بشه. ولی کدهای فایل py رو توی یه editor میشه دید.
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: دانیال بهزادی در 15 اردیبهشت 1401، 08:54 ب‌ظ
آخه میخوام نشه کدهایی که نوشتم رو خوند و فقط اجرا بشه. ولی کدهای فایل py رو توی یه editor میشه دید.
فکر کنم اگه بگی مقصودت چیه که راه‌حلش به نظرت قابل خوندن نبودن فایل بوده، بهتر می‌شه کمکت کرد.
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: saeidmot در 15 اردیبهشت 1401، 09:04 ب‌ظ
آخه میخوام نشه کدهایی که نوشتم رو خوند و فقط اجرا بشه. ولی کدهای فایل py رو توی یه editor میشه دید.
فکر کنم اگه بگی مقصودت چیه که راه‌حلش به نظرت قابل خوندن نبودن فایل بوده، بهتر می‌شه کمکت کرد.
میخوام برنامه ام خروجی ای داشته باشه که فقط قابلیت اجرا داشته باشه و نشه کدی که من نوشتم رو ببینند.
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: esmaeelE در 16 اردیبهشت 1401، 11:14 ق‌ظ
متن برنامه‌های C با ابراز کامپایلر (https://wiki.ubuntu.ir/wiki/Compiler) به دستورات قابل فهم رایانه تبدیل می‌شوند.

مجموعهٔ کامپایلر gcc فایل باینری قابل اجرا روی سیستم را هم تولید می‌کند.
gcc code.c -o code

برنامهٔ gcc تمام کارهای لازم را برای تبدیل کد C به یک فایل باینری قابل اجرا روی همین سیستم انجام می‌دهد.
برنامه را در محیط پوسته با این فرمان اجرا می‌کنید.
./code

اما برنامه‌های پایتون متفاوت هستند و برای اجرا روی سیستم نیاز به مفسر دارند.
python3 prog.py
به نظر می‌رسد شما می‌خواهید از برنامهٔ پایتون یک فایل اجرایی باینری مستقل مشابه مثال در مورد C بسازید.

برای ساخت یک فایل اجرایی مستقل از برنامهٔ پایتون یک راه استفاده از بستهٔ pyinstaller است.


نمونه


نوشتن برنامه
echo "print('salam')">prog.py
cat prog.py

ساخت venv و فعال سازی
python3 -m venv env
source env/bin/activate

نصب بستهٔ pyinstaller با pip در محیط مجازی
python3 -m pip install pyinstaller
اجرای برنامهٔ pyinstaller  برای ساخت فایل اجرای از روی برنامهٔ پایتون
pyinstaller --onefile prog.py

اجرای برنامه
./dist/prog
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: saeidmot در 16 اردیبهشت 1401، 02:13 ب‌ظ
تشکر از راهنماببتون
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: مجتبی باغبان در 16 اردیبهشت 1401، 02:30 ب‌ظ
زبانهایی مثل پایتون و php زبانهای مفسری هستند و فایل اجرایی به اون معنی بهتون نمیده بلکه مفسر در زمان اجرا فایل ورودی رو تفسیر می‌کنه و این بر خلاف زبانهای کامپایلی مثل سی است که کامپایل میشه و فایل اجرایی بهتون میده و واسه اجرا نیاز به مفسر نداره. هر کدوم از این روشها مزایا و معایب خودشون رو دارن. توی زبانهای مفسری مثل پایتون نیاز است که فایل اصلی باشه که مفسر بتونه اجراش کنه. هرچند روشهای واسه رمزگذاری کردن اسکریپت‌های زبان های تفسیری وجود داره.
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: دانیال بهزادی در 17 اردیبهشت 1401، 02:33 ق‌ظ
میخوام برنامه ام خروجی ای داشته باشه که فقط قابلیت اجرا داشته باشه و نشه کدی که من نوشتم رو ببینند.
بله. پرسشم از چرایی این کار بود. تصویر بزرگ‌تری رو می‌خوام که به خاطر انجامش، داری تلاش می‌کنی کدت قابل خوندن نباشه…
عنوان: پاسخ : راهنمایی در خصوص خروجی گرفتن بصورت برنامه اجرایی
ارسال شده توسط: Dragon- در 17 اردیبهشت 1401، 11:56 ب‌ظ
چجوری  یک برنامه پایتون یا c# رو کامپایل کنم که خروجی ما بجای یک فایل exe یا py ، یک فابل deb باشه؟
اگه می‌خواهید برای چیزی غیر از ویندوز برنامه بنویسید، بدونید با #c نمیشه؛ اگه هم بشه، آخر مثل ویندوز نیست.