سؤال

كيف يمكنني ترجمة/تشغيل C أو C++ في وحدة تحكم Unix أو محطة Mac؟

(أنا أعرف ذلك، إنساه، وأتعلمه مرة أخرى.حان الوقت لكتابة ذلك.)

هل كانت مفيدة؟

المحلول

إذا هو بسيط برنامج مصدر واحد:

make foo

حيث الملف المصدر foo.c أو foo.cpp، وما إلى ذلك.

وأنت لا تحتاج حتى MAKEFILE. جعل وقد بنيت في ما يكفي لبناء قواعد الملف المصدر إلى ملف قابل للتنفيذ الذي يحمل نفس الاسم، ناقص التمديد.

وتشغيل الملف القابل للتنفيذ بنيت فقط هو نفس تشغيل أي برنامج - ولكن سوف غالبا ما تحتاج إلى تحديد مسار الملف القابل للتنفيذ كما قذيفة سوف فقط البحث ما هو في $PATH لإيجاد التنفيذية، وغالبا ما لا يتضمن الدليل الحالي (.).

وذلك لتشغيل foo تنفيذ البناء:

./foo

نصائح أخرى

gcc main.cpp -o main.out  
./main.out

هذا هو الأمر الذي يعمل على كافة أجهزة يونكس...أستخدمه على Linux/Ubuntu، ولكنه يعمل على OS X أيضًا.اكتب الأمر التالي في Terminal.app.

$ g++ -o lab21 iterative.cpp

-o هو حرف O وليس صفر

lab21 سيكون الملف القابل للتنفيذ الخاص بك

iterative.cpp هو ملف c++ الخاص بك

بعد تشغيل هذا الأمر، اكتب ما يلي في الوحدة الطرفية لتشغيل البرنامج:

$ ./lab21

وخطوتين بالنسبة لي:

أولا:

make foo

وبعد ذلك:

./foo

جميع تنفيذ التطبيق في يونيكس (لينكس، ماك OS X، AIX، الخ) بيئة يعتمد على مسار البحث القابل للتنفيذ.

ويمكنك عرض هذا المسار في محطة مع هذا الأمر:

<اقتباس فقرة>   

صدى $ PATH

في نظام التشغيل Mac OS X (افتراضيا) هذا سيعرض القولون فصل مسار البحث التالية:

<اقتباس فقرة>   

و/ البيرة / بن: / بن: / البيرة / دليل: / دليل: / البيرة / المحلية / بن: / البيرة / X11 / بن

وهكذا أي قابل للتنفيذ في الدلائل المذكورة يمكن من خلال تشغيل فقط عن طريق كتابة باسمهم. على سبيل المثال:

<اقتباس فقرة>   

والقط mytextfile.txt

وهذا يعمل /bin/cat ويعرض mytextfile.txt إلى المحطة.

لتشغيل أي أمر آخر غير موجود في مسار البحث تنفيذي يتطلب أن كنت مؤهلا المسار إلى الملف القابل للتنفيذ. يقول ذلك اضطررت للتنفيذ يسمى MyProgram في بلدي الدليل الرئيسي على نظام التشغيل Mac OS X يمكنني التأهل بالكامل مثل ذلك:

<اقتباس فقرة>   

و/ المستخدمين / أوليفر / MyProgram

إذا كنت في الموقع الذي يقع بالقرب من البرنامج الذي يرغب في تنفيذ تتمكن من التأهل الاسم مع مسار جزئي. على سبيل المثال، إذا كان MyProgram في الدليل /Users/oliver/MyProject الأول وكنت في دليل بيتي يمكنني التأهل الاسم القابل للتنفيذ من هذا القبيل، ويكون ذلك تنفيذ:

<اقتباس فقرة>   

وMyProject / MyProgram

وأو يقول كنت في /Users/oliver/MyProject2 الدليل وأردت أن تنفيذ /Users/oliver/MyProject/MyProgram يمكنني استخدام مسار نسبي من هذا القبيل، لتنفيذ ما يلي:

<اقتباس فقرة>   

و../ MyProject / MyProgram

وبالمثل إذا أنا في نفس الدليل MyProgram أنا بحاجة إلى استخدام "الدليل الحالي" مسار نسبي. الدليل الحالي كنت في هو الحرف فترة يليه خط مائل. على سبيل المثال:

<اقتباس فقرة>   

و./ MyProgram

لتحديد الدليل الذي قيد الاستخدام حاليا الأمر pwd.

إذا كنت تضع عادة برامج في مكان على القرص الثابت التي ترغب في تشغيلها دون الحاجة إلى التأهل أسمائهم. على سبيل المثال، إذا كان لديك "بن" الدليل في الدليل الرئيسي للمخطوطات قذيفة تستخدم بانتظام من برامج أخرى قد يكون من الحكمة لتغيير مسار البحث القابل للتنفيذ.

وهذا يمكن أن يكون لا بسهولة عن طريق إما إنشاء أو تحرير ملف .bash_profile الموجودة في الدليل الرئيسي وإضافة خطوط:

#!/bin/sh
export PATH=$PATH:~/bin

وهنا يتم استخدام حرف المد (~) كاختصار ل/ المستخدمين / أوليفر. نلاحظ أيضا أن (#!) خط التجزئة الانفجار يجب أن يكون السطر الأول من الملف (إذا لم تكن بالفعل موجودة). لاحظ أيضا أن هذا الأسلوب يتطلب أن قذيفة دخولك تكون باش (الافتراضي على نظام التشغيل Mac OS X، ومعظم توزيعات لينكس). لاحظ أيضا أنه إذا كنت تريد البرامج المثبتة في ~/bin لاستخدامها في تفضيل التنفيذية نظامك يجب إعادة ترتيب بيان التصدير كما يلي:

export PATH=~/bin:$PATH

رايان، أقوم بتغيير هذا ليكون إجابة بدلاً من تعليق، حيث يبدو أنني كنت مختصراً للغاية.افعل كل هذا في "المحطة الطرفية".

لاستخدام مترجم G++، عليك القيام بذلك:

  1. انتقل إلى الدليل الذي قمت بتخزين الملف *.cpp فيه.

    cd ~/programs/myprograms/
    (الرمز ~ هو اختصار لمنزلك، أي/Users/Ryan/programs/myprograms/، استبدله بالموقع الذي استخدمته بالفعل.)

  2. تجميعها

    g++ input.cpp -o output.bin (output.bin يمكن أن يكون أي شيء بأي امتداد، حقًا.bin شائع فقط في نظام التشغيل Unix.)

    يجب أن لا يتم إرجاع أي شيء إذا كان ناجحًا، وهذا هو تمام.عموما تحصل على عوائد على الفشل.

    ومع ذلك، إذا كتبت ls, ، سترى قائمة الملفات الموجودة في نفس الدليل.على سبيل المثال، قد ترى المجلدات الأخرى، input.cpp وoutput.bin

  3. من داخل الدليل، قم بتنفيذه الآن باستخدام ./outbut.bin

وعلى افتراض أن الدليل الحالي ليست في المسار، بناء الجملة ./[name of the program].

وعلى سبيل المثال ./a.out

واضافة التالية للحصول على أفضل التحذيرات، فلن نأسف لذلك. إذا كنت تستطيع، وتجميع WISE (التحذير خطأ)

- Wall -pedantic -Weffc++ -Werror

وهناك طريقة مدمجة للذهاب نحو القيام بذلك يمكن أن يكون:

make foo && ./$_

ونيس لديها بطانة واحدة حتى تتمكن من مجرد إعادة تشغيل للتنفيذ الخاص بك مرة أخرى بسهولة.

لتجميع برامج C أو C++، هناك أمر شائع:

  1. make filename

  2. ./filename

سيقوم make ببناء الملف المصدر الخاص بك في ملف قابل للتنفيذ يحمل نفس الاسم.ولكن إذا كنت تريد استخدام الطريقة القياسية، فيمكنك استخدام برنامج التحويل البرمجي gcc لإنشاء برامج C وg++ لـ c++

بالنسبة إلى ج:

gcc filename.c

./a.out

بالنسبة لـ C++:

g++ filename.cpp

./a.out

استخدم لmakefile. حتى ل(= ملف واحد) مشاريع صغيرة جدا، والجهد هو ربما يستحق ذلك لأنك يمكن أن يكون لها عدة مجموعات من إعدادات مترجم لاختبار الأشياء. التصحيح ونشر يعمل أسهل بكثير بهذه الطريقة.

make دليل ، يبدو طويلا جدا في البداية وهلة لكن معظم المقاطع التي يمكن المقشود فقط على. جميع في كل ما أخذني بضع ساعات وجعلني أكثر إنتاجية.

ولقد وجدت هذا الرابط مع اتجاهات:

<وأ href = "http://www.wesg.ca/2007/11/how-to-write-and-compile-c-programs-on-mac-os-x/" يختلط = "نوفولو noreferrer "> http://www.wesg.ca/2007/11/how-to-write-and-compile-c-programs-on-mac-os-x/

وأساسا تفعله:

gcc hello.c
./a.out (or with the output file of the first command)

فقط أدخل في الدليل الذي يوجد به ملف c/cpp الخاص بك.

لتجميع وتشغيل كود C.

$gcc filename.c
$./a.out filename.c

لتجميع وتشغيل كود C ++.

$g++ filename.cpp
$./a.out filename.cpp

"$" هو رمز محطة Mac الافتراضي

لتجميع وتشغيل كود مصدر CPP من محطة Mac، يجب عليك القيام بما يلي:

  1. إذا كان مسار ملف cpp هو somePath/fileName.cpp، فانتقل أولاً إلى الدليل باستخدام المسار somePath
  2. لتجميع fileName.cpp، اكتب c++ fileName.cpp -o fileName
  3. لتشغيل البرنامج، اكتب ./fileName

وتشغيل ملف .C استخدام المعبر هو عملية من خطوتين. وتتمثل الخطوة الأولى لكتابة دول مجلس التعاون الخليجي في محطة وإسقاط ملف .C إلى المحطة، ثم اضغط على أدخل :

username$ gcc /Desktop/test.c 

في الخطوة الثانية، قم بتشغيل الأمر التالي:

username$ ~/a.out
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top