ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אורח · ·
 

הודעה פורסם: 17/01/2018 - 15:25
נושא ההודעה: מעוניין ללמוד c++ דרך קוד מקור של תוכנות בלינוקס

האם זה ריאלי?
בתור מתחיל שאין לו שמץ - האם יש תוכנה פשוטה כזו? (פקודה כמו ls ? )

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

הודעה פורסם: 17/01/2018 - 17:11
נושא ההודעה:

לדעתי זאת לא דרך מומלצת להתחיל ללמוד אף שפה, בטח לא C++.

תתחיל מהבסיס, תלמד עקרונות, תכתוב כמה דברים בעצמך, ורק אחרי זה תכנס לקוד של אחרים.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
elcucoלא בפורום כעת ת.הצטרפות: 14/10/2003 · הודעות: 6255 ·
 

הודעה פורסם: 17/01/2018 - 20:50
נושא ההודעה:

1- הליבה של לינוקס כתובה ב־C.
2- הקוד של ls נמצא ב-coreutils למשל. הינה המימוש שלו:
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c

זאת לא הדרך להתחיל ללמוד. אבל זה דרך טובה מאוד ללמוד.

---
עריכה:
הינה הקוד של ls ב־busybox:
https://github.com/mirror/busybox/blob/master/coreutils/ls.c

---
ערכה שלישית:
הינה קוד המקור של dir ב־freecom (המימוש החופשי של DOS - FreeDOS).
https://github.com/FDOS/freecom/blob/master/cmd/dir.c


נערך לאחרונה על-ידי elcuco בתאריך 18/01/2018 - 09:42, סך-הכל נערך פעם אחת
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 17/01/2018 - 21:47
נושא ההודעה:

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

הודעה פורסם: 17/01/2018 - 23:48
נושא ההודעה:

לא מצאתי משהו מאוד קטן ופשוט שכתוב ב־C++‎ בדביאן.

במערכת דביאן יש תגיות (אופציונליות) לכל חבילה. אפשר לחפש לפי תגיות.
קוד:

aptitude search  '~Gimplemented-in::c\+\+'

במערכת שלי זה מחזיר כמעט 10000 תוצאות. דוגמה להגבלת החיפוש: הוספת התנאי שתאור החבילה יכלול את השם foob:
קוד:

aptitude search  '~Gimplemented-in::c\+\+ ~dfoob'


בעיקרון זה אמור גם לעבוד במערכות אחרות שמבוססות על דביאן (כגון אובונטו), אבל לא ברור לי אם aptitude מותקנת שם אוטומטית.

אם החלטתי שאני רוצה לבנות, הנה הדרך הפשוטה לקבל גרסה של קוד המקור שלה ולבנות אותו:
קוד:

apt-get source lxmusic
sudo apt-get build-dep lxmusic
cd lxmusic-0.4.7
./debian/rules build

זו אינה המלצה דווקא על lxmusic (סתם בחרתי חבילה).

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

ls (ושאר coreutils) כתובות ב־C.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 18/01/2018 - 01:12
נושא ההודעה:

אין לך שמץ של ידע בתכנות כלל או אין לך ידע בתכנות CPP?
כי אם יש לך ידע בתכנות אני חושב ש- elcuco צודק.

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

הודעה פורסם: 18/01/2018 - 15:18
נושא ההודעה:

תודה רבה!
אלקוקו - 5K שורות ל ls זה מטורף. אם כבר c אז אלך על פקודה כמו pwd
צפריר תודה. יבדק בערב.
האורח מעל - אין לי תואר במדמ"ח. אבל אני כותב פה ושם קוד (סקריפטים) ואם node.js כתובה ב C++ אני רוצה ללמוד C++


ניסיתי פעם לקרוא דוקומנצטיה של QT ו GTK (חלונות ויזואלים זה יותר מגניב) אבל לא הייתי עקבי
אולי אחזור לזה
https://developer.gnome.org/gtk-tutorial/stable/c39.html#SEC-HELLOWORLD

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

הודעה פורסם: 18/01/2018 - 15:26
נושא ההודעה:

וכמובן שטעיתי.
הדוגמה של GTK כתובה ב C
אופס
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
elcucoלא בפורום כעת ת.הצטרפות: 14/10/2003 · הודעות: 6255 ·
 

הודעה פורסם: 19/01/2018 - 14:45
נושא ההודעה:

אם אתה מחפש משהו פשוט ב-C++ אולי שווה לך להסתכל על qhcora שכתובה ב-Qt והמנוע עצמו כתוב ב-C.

https://github.com/elcuco/qhocr/tree/master/src
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
borsoodלא בפורום כעת ת.הצטרפות: 05/01/2007 · הודעות: 306 ·
 

הודעה פורסם: 22/01/2018 - 21:59
נושא ההודעה:

אזהרה קלה:
שפת ++C נמצאת במהלך של שינוי גדול מהשנים האחרונות. ייתכן ותבחר בפרוייקט ותיק שהקוד שנכתב בו מיושן (משתמש ב־raw pointers, new delete). לא כדאי שתרכוש הרגלים מסוימים רק בגלל שהקוד נכתב לפני זמן רב. אני חושב שזה המצב ברוב התוכנות.

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

הודעה פורסם: 29/01/2018 - 04:19
נושא ההודעה:

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

הודעה פורסם: 29/01/2018 - 11:56
נושא ההודעה:

borsood :
אזהרה קלה:
שפת ++C נמצאת במהלך של שינוי גדול מהשנים האחרונות. ייתכן ותבחר בפרוייקט ותיק שהקוד שנכתב בו מיושן (משתמש ב־raw pointers, new delete). לא כדאי שתרכוש הרגלים מסוימים רק בגלל שהקוד נכתב לפני זמן רב. אני חושב שזה המצב ברוב התוכנות.

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


למישהו שידע C++ על בוריה לפני 8 שנים, אבל מאז מתעסק בשפות שפויות - מה היית ממליץ אם אני רוצה לוותר על שפיותי ולחזור ל- C++ מודרנית?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 29/01/2018 - 15:05
נושא ההודעה:

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

כי.
אני די זקן ודל משאבים (זמן, מרץ ואנרגיה, IQ , ממון ..) בשביל להתחיל תואר במדמ"ח.
מושגים כמו by ref/by val כבר די מוכרים לי.
והכי חשוב - לא ממתינה לי משרה בסיום הויה דה לה רוזה, אז למה להתעמק?
(כן, זה לא מקובל אבל אני קודם מאתר דרישה ואז לומד את המטריה)

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

הודעה פורסם: 30/01/2018 - 03:15
נושא ההודעה:

בהצלחה איש!
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
borsoodלא בפורום כעת ת.הצטרפות: 05/01/2007 · הודעות: 306 ·
 

הודעה פורסם: 31/01/2018 - 08:57
נושא ההודעה:

[quote="Anonymous"]
מתפלא :

ומצטרף לשאלה בדבר הC++ המודרנית.
האם זה שבר גדול כמו בפייתון?

לא, התאימות אחורה היא עקרון יסוד בשפה כך שגם קוד מיושן מאד יעבודץ וזה מקור האזהרה.
יש כלים שעוזרים ונותנים אזהרות, אבל אני לא מכיר קוד פתוח גדול שמשתמש בלעדית ב++C מודרני.
chaiscript שהזכרתי הוא פרוייקט קוד שהמחבר שלו משתמש בו גם לבחינת פרדיגמות תכנותיות מודרניות.
אם ידעת ++C לפני שמונה שנים אולי תשמח לראות את השינויים שהשפה עברה ותמשיך לעבור. אולי אפילו צתליח לשמור על שפיותך Wink
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/02/2018 - 19:17
נושא ההודעה:

אוקיי הורדתי את coreutils מפה git://git.sv.gnu.org/coreutils.git
ומה שאני לא מנסה לקמפל זה לא מצליח. חסר לו config.h מדוע?
קוד:
$ gcc whoami.c                                                                                                                           :(
whoami.c:21:10: fatal error: config.h: No such file or directory
 #include <config.h>
          ^~~~~~~~~~
compilation terminated.


אגב זה לטרול שרושם פה כל הזמן שסטולמן פרזיט -
קוד:
grep -i stallman *                                                                                                                     :(
grep: blake2: Is a directory
cat.c:   By tege@sics.se, Torbjorn Granlund, advised by rms, Richard Stallman.  */
cat.c:  proper_name ("Richard M. Stallman")
comm.c:/* Written by Richard Stallman and David MacKenzie. */
comm.c:  proper_name ("Richard M. Stallman"), \
ls.c:/* Written by Richard Stallman and David MacKenzie.  */
ls.c:  proper_name ("Richard M. Stallman"), \
od.c:   Based on a function written by Richard Stallman for a
rm.c:/* Initially written by Paul Rubin, David MacKenzie, and Richard Stallman.
rm.c:  proper_name ("Richard M. Stallman"), \
split.c:  proper_name ("Richard M. Stallman")
tee.c:/* Mike Parker, Richard M. Stallman, and David MacKenzie */
tee.c:  proper_name ("Richard M. Stallman"), \
uniq.c:/* Written by Richard M. Stallman and David MacKenzie. */
uniq.c:  proper_name ("Richard M. Stallman"), \
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/02/2018 - 20:48
נושא ההודעה:

אתה באמת מצפה לקמפל קבצים של פרוייקט ישירות בלי להפעיל את ה-makefile?
יש readme עם הוראות איך לקמפל את הפרוייקט, תשתמש בו.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 03/02/2018 - 01:59
נושא ההודעה:

אני מצטרף לאזהרה של בורסוד (borsood) ומתנגד להצעה של elcuoco:

C++ עברה שינויים מאוד משמעותיים בשבע השנים האחרונות, וכל 3 שנים בערך תקן השפה מתעדכן. לא כל 3 שנים השינויים הם דרסטיים, אבל ב-2011 היו שינויים עצומים. אמנם נכון, שהשינויים עברו תוך שמירה על תאימות לאחר, אבל כאן גם בדיוק הבעיה: קוד מודרני ב-C++ נראה מאוד שונה מקוד "בסגנון ישן"; אבל קוד בסגנון ישן, אשר היום ממש לא כדאי לכתוב, עדיין יתקמפל ויעבוד כרגיל ובלי הערות ואזהרות. כך שאתה עלול לסגל לעצמך סגנון עבודה לא מוצלח.

הנה הרצאת הסבר נגישה וחביבה של Herb Sutter:
C++ מודרנית - מה שאת/ה צריך לדעת
בה תקבלו טעימה קטנה של השינוי בלי לצלול לעומק.

רוב התוכנה שכתובה ב-C++ כתובה ב"סגנון ישן" - כי היא נכתבה לפני 2011 . יתר על כן, ישנן ספריות ופלטפורמות רבות אשר מתוכננות בצורה "עקומה" כדי לעקוף או להתגבר על קשיים ב-C++ כפי שהתקיימה בעבר - ואילו היום אין במעקפים האלו צורך. כך למשל לגבי Qt. גם אם היינו "מעדכנים" את המימוש של Qt , עדיין כל הרעיון לא היה מתאים ל-C++ מודרני (ולא אכנס כאן להסבר מדוע).

זו סיבה אחת מדוע לא כדאי ללמוד C++ על בסיס הקוד של תוכנה קיימת. סיבה שניה היא שבתוכנה קיימת, גם אם היא כתובה היטב, באים לידי ביטוי המון סיבוכים ושיקולים וצרכים אשר חורגים ממה שתלמיד מתחיל של שפת התכנות צריך לחשוב עליהם - וזה מבלבל (בלי קשר ל-C++).
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
einpoklum ת.הצטרפות: 17/01/2003 · הודעות: 85 · מיקום: חיפה
 

הודעה פורסם: 03/02/2018 - 02:02
נושא ההודעה:

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

הודעה פורסם: 03/02/2018 - 11:39
נושא ההודעה:

Anonymous :
אתה באמת מצפה לקמפל קבצים של פרוייקט ישירות בלי להפעיל את ה-makefile?
יש readme עם הוראות איך לקמפל את הפרוייקט, תשתמש בו.

תודה על התשובה.
זה לא טריוויאלי מבחינתי לקבל תשובה לשאלה כל כך בסיסית אשר בטח אם הייתי בצד השני שמבין - היתה מעוררת בי אנטגוניזם.
תודה רבה גם לשאר התורמים לדיון. (אינפו כלוםSmile )
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/02/2018 - 20:50
נושא ההודעה:

זה אני מאשכול אחר פה, אבל הבחור עשה גם סרטון על C++ מלפני 3 שנים (כך שלדעתי מאוד עדכני), אז אתה מוזמן גם לשם ולא רק לקוד המקור:
https://www.youtube.com/watch?v=Rub-JsjMhWY

זה שעה ועשר דקות.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
borsoodלא בפורום כעת ת.הצטרפות: 05/01/2007 · הודעות: 306 ·
 

הודעה פורסם: 06/02/2018 - 07:05
נושא ההודעה:

לא.
מלמד על raw pointers ו raw arrays.
בהחלט לא.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 06/02/2018 - 13:04
נושא ההודעה:

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

הודעה פורסם: 06/02/2018 - 16:09
נושא ההודעה:

מהמעט שראיתי עושה רושם שהוא מלמד את אותם דברים שאני מכיר מ-c++ מלפני 20 שנה, זה בטח לא השינויים והעדכונים ש-borsood‏ מתכוון אליהם.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
borsoodלא בפורום כעת ת.הצטרפות: 05/01/2007 · הודעות: 306 ·
 

הודעה פורסם: 07/02/2018 - 07:12
נושא ההודעה:

הבהרה: מלמד על raw arrays החל מ 13:50.
מלמד על raw pointer החל מ 42:00.

לכן הוא מלמד ++c מיושן.

הוא גם משתמש הרבה בendl. והנה סרטון קצר שמסביר למה זה רעיון רע במציאות
https://www.youtube.com/watch?v=6WeEMlmrfOI
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 07/02/2018 - 13:39
נושא ההודעה:

borsood :
הבהרה: מלמד על raw arrays החל מ 13:50.
מלמד על raw pointer החל מ 42:00.

לכן הוא מלמד ++c מיושן.

הוא גם משתמש הרבה בendl. והנה סרטון קצר שמסביר למה זה רעיון רע במציאות
https://www.youtube.com/watch?v=6WeEMlmrfOI

אה, אם כך מתנצל בפניך.
עכשיו הבנתי Smile.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח
  2. אורח
  3. elcuco
  4. אורח
  5. אורח [צפריר]
  6. אורח
  7. אורח
  8. אורח
  9. elcuco
  10. borsood
  11. אורח [מתפלא]
  12. אורח
  13. אורח
  14. אורח
  15. borsood
  16. אורח
  17. אורח
  18. אורח
  19. einpoklum
  20. אורח
  21. אורח
  22. borsood
  23. אורח
  24. אורח
  25. borsood
  26. אורח