امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
چطوری یه wrapper بنویسم ؟ (سی در لینوکس)
نویسنده پیام
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #1
چطوری یه wrapper بنویسم ؟ (سی در لینوکس)
سلام من یه برنامه دارم که یه پارامتر به عنوان ورودی میگیره و خروجی میده و با یه پیغام بسته میشه..
مثلا یه همچنین ورودی: File -info Alireza/.
حالا من میخوام خروجی دستور بالا رو بگیرم و فقط اون مقدارهایی که لازم دارم و نمایش بدم، چی کار باید بکنم؟

پ.ن: من تو فکرم بود که از pipe استفاده کنم ولی نمیدونم درسته یا نه..
مرسی از راهنمایتون
۲۱-خرداد-۱۳۹۶, ۲۱:۲۶:۱۴
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #2
RE: چطوری یه wrapper بنویسم ؟ (سی در لینوکس)
سلام

کاری که میخوایی بکنی یکی از کارهای روزمره ای هست که توی لینوکس انجام میشه؛
باا wrapper هم میتونی انجام بدی اما یادت باشه که قابلیت جابجایی این کمه؛ چون احتیاج به کامپایل کدت و تزریق و .. هست نمیتونی کدت رو روی تمام سیستم ها به درستی اجرا کنی و ..


من توصیه ام پایپ کردن هست؛ اگه بلدی که هیچی ولی اگه بلد نیستی نمونه خروجیت رو بذار و بگو کدوم قسمت هاش رو میخوایی تا با هم پیش بریم و جداش کنیم
۲۲-خرداد-۱۳۹۶, ۰۳:۰۹:۵۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek, salehjg
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #3
RE: چطوری یه wrapper بنویسم ؟ (سی در لینوکس)
نقل قول: کاری که میخوایی بکنی یکی از کارهای روزمره ای هست که توی لینوکس انجام میشه؛

یعنی چی؟ چطور ؟ میشه یه مثال بزنی ؟

نقل قول: باا wrapper هم میتونی انجام بدی اما یادت باشه که قابلیت جابجایی این کمه؛ چون احتیاج به کامپایل کدت و تزریق و .. هست نمیتونی کدت رو روی تمام سیستم ها به درستی اجرا کنی و ..

رپر مگه تزریق میشه ؟ اگه زحمتی نیست که توضیح میدی که کلا چطوری یه رپر مینویسن ؟ خیلی ممنونت میشم

نقل قول: من توصیه ام پایپ کردن هست؛ اگه بلدی که هیچی ولی اگه بلد نیستی نمونه خروجیت رو بذار و بگو کدوم قسمت هاش رو میخوایی تا با هم پیش بریم و جداش کنیم

خیلی ممنون سعی ام رو میکنم اگه به مشکل خوردم حتما ازتون کمک میگیرم قلب عشق - بهینه شده برای ورژن جدید
۲۲-خرداد-۱۳۹۶, ۱۶:۰۰:۲۵
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #4
RE: چطوری یه wrapper بنویسم ؟ (سی در لینوکس)
نقل قول: یعنی چی؟ چطور ؟ میشه یه مثال بزنی ؟

مثلا خروجیمون اینه:

کد php:
9.salam
8.man khubam va
7.u chetiori 

کلمه دوم از خط دوم رو میخواییم,
کد php:
echo -"9.salam\n8.man khubam va\n7.u chetiori" sed -ne '2p'cut -d" " -f2 

یا همچنین کارهای مشابه ای و . .


خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید راهای بهتری هم هستا، ابن مثال فقط واسه این بود که بگم چنین چیزایی میشه

-------------

نقل قول: رپر مگه تزریق میشه ؟ اگه زحمتی نیست که توضیح میدی که کلا چطوری یه رپر مینویسن ؟ خیلی ممنونت میشم

خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید شاید من بد متوجه شدم؛ شما منظورتون از wrapper چی بود؟!
الان فرض کنید من یه برنامه c نوشتم وکامپایلش کردم و با تایع  put  خروجی چاپ میکنم! اینو چطوری میخوایی wrapper کنیش؟!
۲۲-خرداد-۱۳۹۶, ۱۷:۳۶:۲۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek, salehjg
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #5
RE: چطوری یه wrapper بنویسم ؟ (سی در لینوکس)
نقل قول: الان فرض کنید من یه برنامه c نوشتم وکامپایلش کردم و با تایع  put  خروجی چاپ میکنم! اینو چطوری میخوایی wrapper کنیش؟!


خب این دقیقا سوالی که دنبال جوابش هستم "چطوری یه رپر بنویسم؟" اما حدس میزنم که با fork پروسه میسازم و execv برنامه اجرا میکنم و خروجی رو میگیرم و نمایش میدم (البته نمیتونم اینو پیاده سازی کنم فقط تو ذهنم هست) یا راه دیگه ای که به ذهنم رسید استفاده از روش های ارتباط فرآیندی هست که پایپ به نظرم نسبت به سوکت، اشتراک حافظه بهترین گزینه هست
۲۳-خرداد-۱۳۹۶, ۰۲:۳۴:۵۶
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #6
RE: چطوری یه wrapper بنویسم ؟ (سی در لینوکس)
wrapper کردن یک برنامه در لینوکس به این شکل هست که یک فایل so (همون dll در ویندوز) ایحاد میکنی؛ و توابع استاندار رو به شرطی که به صورت دینامیکی لود شده باشند (مشابه IAT با ویندوز) ؛ باز نویسی میکنی؛ و اون so رو در فضای برنامه قرار میدی (شبیه به اینجکت در ویندوز)؛ و بعد ورودی به تابع اصلی سرازیر میشه به تابع wrapper شده شما و . . .

---------
شما هر دو تا برنامه واسه خودتون هست؟
چون من از سوالتون اینطور متوجه شدم که یه برنامه کامپایل شده دارید و حالا میخوایید یه برنامه دیگه بنویسید و از خروجی اون قبلی استفاده کنید و . . .

چون اگه هردو واسه خودتون نباشه که حافظه اشتراکی معنایی نداره اینجا!!!!!!!!!!!
۲۳-خرداد-۱۳۹۶, ۰۴:۱۳:۱۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek, salehjg


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] تغییر مسیر خطاها در لینوکس nImaarek 10 2,242 ۲۱-شهریور-۱۳۹۸, ۰۰:۴۸:۱۴
آخرین ارسال: babyy
  کمک کنید تا منم بتونم بنویسم math 13 12,197 ۱۶-اردیبهشت-۱۳۹۱, ۱۴:۵۳:۳۸
آخرین ارسال: sjh
  مشتق گیری در سی++ تحت لینوکس kimia 4 4,298 ۱۴-دى-۱۳۸۵, ۲۰:۱۷:۴۶
آخرین ارسال: Mamad2003

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS