PDA

View Full Version : مشکل در تشخیص کامپایلر برنامه نوشته شده



monirprogram
جمعه 21 فروردین 1394, 16:38 عصر
سلام دوستان. روزتون بخیر. چند وقت پیش به من برنامه ای دادند که از نوع کدها واضح هست که با زبان c نوشته شده. ( از این کد که به صورت open source در اینترنت منتشر شده، باید برای باز کردن بک آپ اطلاعات دریافت شده استفاده کنم). در زمان کامپایل خطاهایی در syntax برنامه میگرفت. در نهایت احساس نمیکنم که این کدها با c معمولی یا visual c نوشته شده باشه. فرضا از نوع داده u_int32_t در برنامه استفاده شده، که ظاهرا در محیط unix کاربرد داره. حالا برای اجرای این برنامه به مشکل برخورد کردم. به نظر شما، از روی نوع داده u_int32_t ، می توانم مطمن باشم که با لینوکس نوشته شده. و اگر اینطور باشه، آیا میشه دستورات را تبدیل به c تحت ویندوز کرد؟ یا باید چی کار کنم؟ نمیدونم و ممنون میشم راهنماییم کنید که متوجه بشم با چه محیطی نوشته شده و برای اجرایش باید چی کار کنم. ممنون

amirtork
جمعه 21 فروردین 1394, 16:59 عصر
سلام،
u_int32_t در ویندوز معادل uint32_t هست، برای رفع این مشکل، یک header file بسازید، و در اون header file بعد از include کردن stdint.h، نوع u_int32_t رو با uint_32 معادل سازی کنید(از typedef استفاده کنید.) و بعد اون header file رو تو برنامه ی خودتون include کنید.
یا برای اجرای اون میتونید از یکی از توضیع های Linux استفاده کنید.
برای توضیحات بیشتر میتونید به این لینک مراجعه کنید:
http://stackoverflow.com/questions/5163835/what-is-u-int32-t

monirprogram
دوشنبه 24 فروردین 1394, 09:45 صبح
از بابت راهنماییتون ممنونم. درسته. فقط یک سوال دیگه دارم. چه کامپایلری را میتوانم نصب کنم، تا نوع داده unint_32 را بشناسه؟؟؟؟؟؟ ممنون میشم این مورد را هم بهم بگید

amirtork
دوشنبه 24 فروردین 1394, 19:58 عصر
سلام مجدد،
من خودم با GCC (MinGW امتحان کردم، شناخت، اما اینکه دیگه با چه کامپایلر هایی میشه کامپایلش کرد، فکر کنم با VS هم میشه، اما چون امتحان نکردم مطمئن نیستم.
اگر یک IDE همراه با کامپایلر GCC میخواید، من بهتون code::block رو پیشنهاد میکنم.

monirprogram
سه شنبه 25 فروردین 1394, 12:01 عصر
برنامه را نصب کرم، امیدوارم درست بشه کارم. ولی ازتون ممنون:قلب:

monirprogram
چهارشنبه 26 فروردین 1394, 22:51 عصر
سلام مجددا. کد را اجرا کردم. از نوع console application پروژه جدید ایجاد کردم. کدها را با همان اسمها اضافه کردم. خطایی نگرفت. ولی اجرایی هم ندیدم. فقط در پنجره پایین برنامه عبارت زیر نوشته شد:
به نظرتون ایراد کارم کجاست؟
-------------- Build: Release in ff (compiler: GNU GCC Compiler)---------------
Linking stage skipped (build target has no object files to link)
Nothing to be done (all items are up-to-date).
 
-------------- Run: Release in ff (compiler: GNU GCC Compiler)---------------
Checking for existence: C:\Users\monir\Desktop\code\inja\ff\bin\Release\ff .exe