עבור לתוכן

מישהו יודע להדר תכנית ב ++c ע"ג לינוקס ?

Featured Replies

פורסם

כתבתי את הקוד:


// hello.cpp
#include <iostream>
using std::cout;

int main()
{
cout << "Hello";
return 0;
}

ונתתי ב "לינוקס" פקודת הידור בנוסח:

root #: gcc hello.cpp

וקיבלתי הודעות שגיאה רבות הקשורות ברובן לשורת  ה include (iostream).

מישהו יכול לתת לי syntax מדויק להידור התכנית בלינוקס?

צריך לעשות path למחיצת include ? בכלל קיימת כזו מחיצה ?

תודה !

פורסם

gcc הוא קומפיילר ל-C (בלבד)

g++ מקפל C++

g++ hello.cpp

פורסם
  • מחבר

ראשית כל תודה.  זה באמת עובד אבל רק עד שלב הבעיות הבא. שמרתי את הקובץ בשם hello וכתבתי:

g++ hello

וזכיתי למטח הודעות שגיאה שבשלב זה אינני מוצא לנכון לפרטם.

שמרתי את הקובץ בשם: hello.cpp וכתבתי:

g++ hello.cpp

ולא קיבלתי שום הודעה.

שאלתי כרגע: בהנחה שההידור של hello.cpp עבר בהצלחה. היכן אני מוצא את קובץ ה exe. מה שמו של קובץ ה exe ?

שאלות של טירון אני יודע, אך מי שלא שואל לא לומד ואני מקווה שתוכל להנחות אותי גם כיצד לעבור את השלב הזה.

פורסם

שם הקובץ שנוצר יהיה כברירת מחדל a.out

ב-g++ (ובקומפיילרים אחרים) אפשר להוסיף את האופציה -o, שקובעת את שם הקובץ:

g++ hello.cpp -o exefilename

פורסם
  • מחבר

שם הקובץ שנוצר יהיה כברירת מחדל  a.out

ב-g++ (ובקומפיילרים אחרים) אפשר להוסיף את האופציה -o, שקובעת את שם הקובץ:

g++ hello.cpp -o exefilename

אכן, a.out נמצא אך בכך לא תמה סאת ייסורי.

ניסיתי להריץ את a.out באופן הבא:


./a.out

ולא קיבלתי כלום על המסך. הקוד הכיל:


cout << "hello world";

וכמובן שישנה בו פקודת include ל iostream. יש לך מושג מדוע לא קיבלתי על המסך: "hello world ?

תודה !

פורסם

ה- standard output עושה לעצמו flush רק בסוף שורה או כשאומרים לו במפורש, ולא בטוח שזה קורה לבד כשהתוכנית יוצאת.

תנסה להדפיס תו newline בסוף השורה שלך או להשתמש ב- cout.flush או להשתמש ב- cerr במקום cout.

פורסם
  • מחבר

ה- standard output עושה לעצמו flush רק בסוף שורה או כשאומרים לו במפורש, ולא בטוח שזה קורה לבד כשהתוכנית יוצאת.

תנסה להדפיס תו newline בסוף השורה שלך או להשתמש ב- cout.flush או להשתמש ב- cerr במקום cout.

הוספתי newline וזה עבד. אינני יודע אם זו הסיבה לכך שלפני כן התכנית לא עבדה, זו התכנית הראשונה שלי ב "לינוקס" וכידוע לך אצל "מתחילים" יש טעויות שבעל נסיון אינו מסוגל אפילו להעלות בדמיונו. העיקר שהעגלה סוף סוף החלה לזוז ואני מודה לך.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים