לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 26-04-2009, 20:25
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
הדרך לקמפל קבצי C עם קומפיילר mingw gcc כשה-IDE זה Notepad++

הרבה מאוד זמן אני מחפש את הדרך לקמפל קבצי C פשוטים (לא פרוייקטים חלילה) עם קומפיילר GCC של MinGW (מקוה שלא טעיתי בכתיבה ובהתייחסות לדברים) כאשר ה-IDE זה ++Notepad (בקיצור, NPP) שאני אוהב (ואני חושב שגם הרבה אחרים אוהבים)

הדרך היחידה שהייתה לי עד עכשיו לקמפל דרך Dev-C++, וממש לא אהבתי אותו כי הוא דחף לי הזחות לא קשורות, וגם במקום הזחות לפעמים עשה לי רווחים ובקיצור יצר אצלי רק עצבים.

אז כדי לקצר את הדברים, הנה התהליך:
  • פיתחו NPP ולחצו על F6. (או, בדרך הארוכה יותר, לכו לתוית Plugins ואז לכו ל- NppExec ואז לחצו על Execute... )
  • עכשיו תופיעו לכם תיבה קטנה שאמורה להכיל סקריפט של הפלאגין NppExec. תכתבו את הקוד הבא בפנים:
    קוד:
    "C:\Program Files\Dev-Cpp\bin\gcc.exe" "$(FULL_CURRENT_PATH)" -o "C:\Documents and Settings\User\Desktop\$(NAME_PART)"

    אסביר את הקוד הנ"ל:
    החלק הראשון זה הנתיב אל הקומפיילר, שבמקרה שלנו זה GCC. אצלי הוא כבר נמצא בתוך התיקייה של Dev-Cpp.
    החלק השני זה משתנה של NPP שמכיל את הדרך האבסולוטית אל הקובץ הנוכחי, שזה הקובץ שאנחנו רוצים לקמפל (לדוגמא, עם סיומת של c)
    האופרטור -o אני לא ממש מכיר ויודע מה תפקידו.
    החלק הרביעי זה הנתיב + שם הקובץ הבינארי החדש = הקובץ המקומפל. אני קבעתי שהוא יגיע ל-Desktop כדי שאוכל להפעילו בקלות במידה וארצה.
  • אחרי שכתבתם את הסקריפט, תלחצו Save כדי לשמור אותו לשימוש עתידי. אני שמרתי את הסקריפט תחת השם GCC_Compile. לחצו OK לשמירת הסקריפט במאגר.
  • לחצו OK שוב כדי להריץ את הסקריפט של NppExec שיגרום לקימפול הקובץ.
וזהו, סיימתם. הקובץ קומפל ושמור בנתיב שבחרתם.

הנה המקורות שעזרו לי לדעת כיצד לעשות זאת:

http://www.programmersheaven.com/mb...ourse-with-gcc/

http://www.neowin.net/forum/index.php?showtopic=570975

http://notepad-plus.wiki.sourceforg...+Compiler+Guide

משתנים של NPP


אני מחפש דרך לעשות שאחרי הקימפול, הקוד ירוץ אוטומטית. ניסיתי לבצע זאת עם אופרטור -run אבל לא הצליח.

תקמפלו בכיף
דור.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 26-04-2009, 20:47
צלמית המשתמש של המממ
  המממ המממ אינו מחובר  
 
חבר מתאריך: 30.10.01
הודעות: 8,699
Follow me...
o for output
בתגובה להודעה מספר 1 שנכתבה על ידי dorM שמתחילה ב "הדרך לקמפל קבצי C עם קומפיילר mingw gcc כשה-IDE זה Notepad++"

הנה הקטע הרלוונטי מתוך man gcc

ציטוט:
-o file
Place output in file file. This applies regardless to whatever sort of output is being produced, whether it be an executable file, an object
file, an assembler file or preprocessed C code.

Since only one output file can be specified, it does not make sense to use -o when compiling more than one input file, unless you are producing an executable file as output.

If -o is not specified, the default is to put an executable file in a.out, the object file for source.suffix in source.o, its assembler file
in source.s, and all preprocessed C source on standard output.

_____________________________________
_________________________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
אזהרה: משרד הבריאות קובע כי העישון מזיק לבריאות !
תראו, אפילו החייזר נהיה ירוק מזה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 26-04-2009, 23:17
צלמית המשתמש של ShoobyD
  משתמש זכר ShoobyD מנהל ShoobyD אינו מחובר  
מנהל משבראש, בלשנות, תכנות ויהדות
 
חבר מתאריך: 04.06.06
הודעות: 33,130
שלח הודעה דרך MSN אל ShoobyD Facebook profile LinkedIn profile Follow me...
בתגובה להודעה מספר 1 שנכתבה על ידי dorM שמתחילה ב "הדרך לקמפל קבצי C עם קומפיילר mingw gcc כשה-IDE זה Notepad++"

אפשר גם דרך run‏ (F5)

כמו שכתבתי לך באשכול ההוא ששאלת על gcc, אם אתה שם את נתיב התיקייה לקומפיילר במשתנה המערכת path אתה יכול לקצר את הפקודה פשוט ל-gcc (במקום כל הנתיב)
ואם אתה רוצה שהתוצאה תהיה באותה תיקייה אתה יכול להשתמש ב-CURRENT_DIRECTORY

לדוגמא:
קוד:
gcc "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART)"


או אם אתה יוצר לדוגמא תיקיית exe לתוצאה:
קוד:
gcc "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\exe\$(NAME_PART)"


אפשר אף להגדיר פעולת קומפילציה בתפריט הקליק-הימני על הקובץ

אבל אני מוצא שהכי נוח זה פשוט לעבוד עם חלון CMD פתוח במקביל
(יש איזה PowerToy שכל מה שהוא עושה זה להוסיף אפשרות של "Open Command Window Here" בתפריט של תיקיות..)

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 27-04-2009, 12:40
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 3 שנכתבה על ידי ShoobyD שמתחילה ב "אפשר גם דרך run‏ (F5) כמו..."

ציטוט:
במקור נכתב על ידי ShoobyD
אפשר גם דרך run‏ (F5)


ניסיתי, לא הצליח

אני בוחר קובץ ע"י כפתור Browse ולוחץ Run אבל שום דבר לא קורה :|
ציטוט:
כמו שכתבתי לך באשכול ההוא ששאלת על gcc, אם אתה שם את נתיב התיקייה לקומפיילר במשתנה המערכת path אתה יכול לקצר את הפקודה פשוט ל-gcc (במקום כל הנתיב)


נכון וזה האשכול. לא הבנתי למה התכוונת כשאמרת במשתנה הסביבה path, חשבתי שאולי הכוונה לפרמטר path באחת מפקודות ה-shell שאני אכתוב.
אבל עכשיו הבנתי שזה משתנה סביבה של מערכת ההפעלה. מצאתי מקורות שהסבירו איך לערוך אותו, כמו:
http://vlaurie.com/computers2/Articles/environment.htm
http://www.computerhope.com/issues/ch000549.htm

ופעלתי לפיהם, והעריכה הצליחה.

אבל כשהשתמשתי במילה gcc בתסריט - זה לא עבד. הנה הקוד המדוייק שניסיתי:
קוד:
gcc "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART)"

זה אחרי שערכתי את המשתנה PATH כמו שצריך.
הודעת השגיאה שקיבלתי:
ציטוט:
CreateProcess() failed with error code 2:
The system cannot find the file specified.


ציטוט:
אבל אני מוצא שהכי נוח זה פשוט לעבוד עם חלון CMD פתוח במקביל

nah :/

אני מעדיף בלחיצה אחת על F5 לדוגמא, הכי נוח שיש...
בעצם לחיצה אחת שכוללת קימפול והרצה.

כדי לבצע את זה, ניסיתי לכתוב את התסריט הבא שכולל קימפול של הקובץ, ומייד אחר-כך הרצה של ה-exe שלו:
קוד:
gcc "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART)" "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"

ועד כמה שהבחנתי (במנהל המשימות), זה הצליח! אבל הבעיה היא שהמסך DOS השחור הזה לא הופיע (בקוד מקור היו פונקציות printf). לבסוף הייתי צריך לסיים אותו דרך מנהל המשימות, כי לא הייתה דרך אחרת...
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 06-05-2009, 19:02
  encoded encoded אינו מחובר  
 
חבר מתאריך: 22.06.06
הודעות: 87
בתגובה להודעה מספר 9 שנכתבה על ידי dorM שמתחילה ב "הגבת אליי..? בכל..."

כן, דיברתי אליך, בטעות לחצתי על ה"תגובה מהירה" הלא נכונה (:

בכל אופן, לא, -On לא נותן פלט לקבצים אחרים, אלא עושה אופטימיזציה של הקוד
-O3 הכי טוב, אבל יכול לפגוע לפעמים בגודל של הקובץ,
תחפש על זה עוד מידע ב man gcc
תלוי בתכנית שלך, לפעמים אני אפילו מוסיף -fomit- של דברים כלשהם
בגלל זה תמיד בונים Makefile דינאמים שיש בהם כל מיני אפשרויות (כמו , make yadda make
(idebug
אמנם
לפעמים זה פוגע (בגלל הקוד שאתה כותב ושוכח כל מיני דברים, ויוצא שבסוף הbuild הסופי דפוק {חשבתי ששימי פה יעקוץ אותי אז הוספתי את זה }, כי אין כל מיני דברים שהיו בדיבאג), אבל זה עדיף, ונוח לדעתי.

cl.exe זה של VS, תקרא על זה קצת, לא בעיה כל כך להשתמש בזה.

יאללה חפרתי.

kudos והכל
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #19  
ישן 05-05-2009, 00:00
צלמית המשתמש של Narxx
  משתמש זכר Narxx Narxx אינו מחובר  
 
חבר מתאריך: 21.12.04
הודעות: 30,021
בתגובה להודעה מספר 18 שנכתבה על ידי Incred2 שמתחילה ב "אני מקווה שיש לך סיבה יותר..."

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

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

בנוגע להערה הלינוקסית, אם חשבת שיש קשר בין שני חלקי התגובה, יש לי מערכת עם לינוקס ואני רוצה לכתוב עליה קוד. לצערי, DEV לא נכתב עבור לינוקס ולכן כשאני לא בחלונות, אני לא יכול להשתמש בזה וחיפשתי אלטרנטיבה.
_____________________________________
בברכה, מתן.
www.MatanNarkiss.com

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #20  
ישן 05-05-2009, 01:37
  Incred2 Incred2 אינו מחובר  
 
חבר מתאריך: 03.01.09
הודעות: 239
כמו שחשבתי חוסר ניסיון ושום דבר מעבר לזה
בתגובה להודעה מספר 19 שנכתבה על ידי Narxx שמתחילה ב "תעשה לי טובה... בשביל לכתוב..."

Visual Studio לגרסאותיה היא ללא צל של ספק וללא שום דבר שדומה למתחרים סביבת העבודה הטובה ביותר ל CPP לווינדוס .אם אתה לא יודע להשתמש באחד במוצר שהוא כנראה האינטואיטיבי ביותר ביחס לפיצ'רים שלו ביקום לא ברור מה אתה מחפש בעסקי התכנות ,ואם אתה לא יודע לספור וחושב ששלושה חלונות ( קוד ,סייר קבצים , TODO / שגיאות קימפול / פלט BUILD ) הם אלף אפשר לנסות ללמד אותך לספור ,אבל אני לא בטוח שתלמידי הגן יחבבו אותך ...

ברגע שתפתח פרוייקט יותר מורכב מ HELLO WORLD ולא תסתפק ב " להפעיל פרוייקט " תוכל לנסות להתחיל לעצב עמדה בנושא .

אני ממש ממש ממש מקווה שכל הדברים האלה שכתבת היו איזו בדיחה או מתיחה לא ברורה ,אבל חסר לי הסמיילי בסוף השורה .
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #21  
ישן 05-05-2009, 10:29
צלמית המשתמש של Narxx
  משתמש זכר Narxx Narxx אינו מחובר  
 
חבר מתאריך: 21.12.04
הודעות: 30,021
בתגובה להודעה מספר 20 שנכתבה על ידי Incred2 שמתחילה ב "כמו שחשבתי חוסר ניסיון ושום דבר מעבר לזה"

זה הרי צפוי שתגיד "אם תנסה לכתוב משהו יותר מורכב מ hello world..." כי כל כתיבת קוד בויז'ואל דורשת לפתוח פרוייקט (!!!).
כאילו, בנאדם - דאבליו-טי-אף?
אם אתה רוצה, אספור ביחד איתך (בליווי צילומי מסך) כמה פעולות אני צריך לעשות בויז'ואל כדי לבצע כתיבה, קימפול והרצה של תוכנית שכותבת למסך hello world.
אני מבטיח לך, שעם הנסיון שלי (שאתה דואג מאוד לזלזל בו מסיבה לא ברורה) והנסיון שלך (שהוא ללא צל של ספק מספיק גדול כדי לזלזל בנסיון שלי), נראה ביחד כי ב DEV זה לוקח הרבה פחות פעולות, שלא לדבר על הסיבוך.

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

אבל עזוב, בנאדם.. ברגע שאנשים מתרגלים לעבור עם ויז'ואל ורק עם ויז'ואל, קשה להם להסתכל הצידה ולהודות שיש עוד סביבות פיתוח בחלק לא מבוטל מהמקרים (כמו רוב המקרים בהם תתקל בפורום זה, אליו ניגשים בעיקר תלמידי תיכון במגמת מחשבים או סטודנטים שלקחו קורס בתיכנות), ויז'ואל היא OVERKILL וכי יש אלטנטיבות הרבה יותר אינטואיטיביות.
_____________________________________
בברכה, מתן.
www.MatanNarkiss.com

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #23  
ישן 05-05-2009, 22:22
צלמית המשתמש של Narxx
  משתמש זכר Narxx Narxx אינו מחובר  
 
חבר מתאריך: 21.12.04
הודעות: 30,021
בתגובה להודעה מספר 22 שנכתבה על ידי Incred2 שמתחילה ב "זה צפוי כי זה נכון"

שוב, כצפוי, אתה מוריד את ערכן של תוכניות hello world כדי להצדיק את המשאית המגושמת והכבדה.
עם כל היתרונות, היא עדיין מגושמת וכבדה יותר, וזה לא משנה.

אתה גם כנראה בכלל לא קראת את מה שפותח האשכול כתב. האם קראת בין השורות? אתה בכלל הבנת מה הוא מחפש? האם אתה בכלל מכיר את DEV או NPP? אתה מבין את המגמתיות שבפוסט הזה?
התוכנה שאתה ממליץ עליה, עזוב את הסיבוכיות שלה, המשקל שלה והגודל הפיסי שלה - היא גם עולה כסף בניגוד ל DEV ו NPP.
טוב, נו... כולנו יודעים שאפשר להשיג "גרסא חינאמית" של VS אבל בתאכלס, זו תוכנה שעולה כסף ולא מעט...
חיסרון גדול מאוד לנו, הסטודנטים למדעי המחשב / הנדסת תוכנה... בקושי כסף לדיסק און קי יש לנו, אז אתה רוצה שנקנה גם אפליקציות של MS שעולות הרבה כסף + עושות עבודה פחות טובה בכתיבת קודים 'פשוטים'?

שמע, כבודו של VS במקומו מונח, אבל אל תזלזל כל כך מהר באלטרנטיבות, שבמקרים מסויימים עולים על VS בהרבה (כמו במקרים שאני ציינתי).
_____________________________________
בברכה, מתן.
www.MatanNarkiss.com

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #24  
ישן 05-05-2009, 22:39
  Incred2 Incred2 אינו מחובר  
 
חבר מתאריך: 03.01.09
הודעות: 239
לא אני מוזיל את ערכן של תוכנות HELLO WORLD
בתגובה להודעה מספר 23 שנכתבה על ידי Narxx שמתחילה ב "שוב, כצפוי, אתה מוריד את ערכן..."

אלא הערך העצמי שלהן לא גבוה במיוחד .

ועכשיו נתקן את כל ה " טעויות " שלך
  • VS הרבה יותר קלה מסביבות פיתוח אחרות ( דוגמאות שאני מכיר אישית :בורלנד,ECLIPSE )
  • אפשר להשיג גרסה חינמית ולא "גרסא חינאמית" ( מה יש לך עם האות א בכלל ? יש עוד אותיות במקלדת ... ).מה שכאילו חסר בה זה MFC ו ATL אבל אותם אפשר להשיג בחינם (לא " בחינם " אלא באמת בחינם ובאופן חוקי ) ב WINDOWS SDK .תתחבר למציאות .
  • VS לא עושה " עבודה פחות טובה " מאשר החלופות לא בקודים " פשוטים " ולא בקודים מורכבים .
אתה יכול לספר על משאיות ועל SMART כמה שבא לך ,אבל VS היא עדיין סביבת פיתוח יותר טובה מסביבות כמו DEVCPP ו CODEBLOCKS שלהודעה עליה הגבתי למרות כל השקרים שלך
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #25  
ישן 05-05-2009, 22:51
צלמית המשתמש של Narxx
  משתמש זכר Narxx Narxx אינו מחובר  
 
חבר מתאריך: 21.12.04
הודעות: 30,021
בתגובה להודעה מספר 24 שנכתבה על ידי Incred2 שמתחילה ב "לא אני מוזיל את ערכן של תוכנות HELLO WORLD"

שקרים?!
פחחח, אויש בנאדם, רד מהעץ. קצת התלהבת.
אז אתה מדבר שטויות, אז מה? בשביל זה להגיד שאני משקר?
מקסימום אני טועה ואתה יכול להוכיח אותי על טעותי, אבל לשקר? בוא לא נסחף

אגב, בורלנד קלה משמעותית יותר מ VS. אני בכלל לא מבין איך אתה יכול להשוות BCC32 ל VS.
באקליפס אני עדיין לא השתמשתי, אבל כבר הראיתי לך שגם NPP וגם DEV (בעבודה עם GCC או ++G) יותר קלות, ואני אפילו קימפלתי באמצעות BORLAND על TEXTPAD שזו תוכנה שבאמת שוקלת מגה וחצי, והקומפיילר אפילו פחות) גם ב C וגם ב ++C ואני באמת שלא יודע מאיפה אתה מנפיץ את הדברים שלך.

אין לי VS על המחשב, אבל בשביל הספורט, אני אכנס למכללה ואעשה העתק-הדבק לכמות השלבים הדרושים, צעד אחר צעד, בפתיחת תוכנית DOS הכי פשוטה שיש - גם ב TEXTPAD עם בורלנד, גם ב DEV עם GCC וגם ב VS.
כמו שאומרים אצלנו, טוב מראה עיניים משמע אוזניים
_____________________________________
בברכה, מתן.
www.MatanNarkiss.com

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 07:27

הדף נוצר ב 0.09 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר