זוהי הפקודה msp430-objcopy שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
objcopy - העתקה ותרגום של קבצי אובייקט
תַקצִיר
עותק [-F bfdname|--מטרה=bfdname]
[-I bfdname|--input-target=bfdname]
[-O bfdname|--output-target=bfdname]
[-B bfdarch|--בינארי-ארכיטקטורה=bfdarch]
[-S|סטריפ-הכל]
[-g|---strip-debug]
[-K שם סמל|-שמור על סמל =שם סמל]
[-N שם סמל|--strip-symbol=שם סמל]
[--strip-uneeded-symbol=שם סמל]
[-G שם סמל|--keep-global-symbol=שם סמל]
[--localize-hidden]
[-L שם סמל|--localize-symbol=שם סמל]
[--globalize-symbol=שם סמל]
[-W שם סמל|--להחליש-סמל=שם סמל]
[-w|-ווילדקארד]
[-x|--זרוק-הכל]
[-X|--זרוק-מקומיים]
[-b בייט|--byte=בייט]
[-i [רוחב]|--שזירה[=רוחב]]
[--interleave-width=רוחב]
[-j שם המדור|--only-section=שם המדור]
[-R שם המדור|--remove-section=שם המדור]
[-p|--שימור-תאריכים]
[-- איתור באגים]
[--- gap-fill=val]
[--pad-to=כתובת]
[--set-start=val]
[--adjust-start=תוספת]
[--change-addresses=תוספת]
[--שנה-מדור-כתובת סעיף{=,+,-}val]
[--change-section-lma סעיף{=,+,-}val]
[--change-section-vma סעיף{=,+,-}val]
[--שינוי-אזהרות] [--אזהרות ללא שינוי]
[--set-section-flags סעיף=דגלים]
[--add-section שם המדור=שם הקובץ]
[--שנה שם-סעיף שם ישן=שם חדש[,דגלים]]
[--שמות קטעים ארוכים {enable,disable,keep}]
[--change-leading-char] [--remove-leading-char]
[--reverse-bytes=NUM]
[--srec-len=ival] [--srec-forceS3]
[---refine-sym זקן=חדש]
[--refine-syms=שם הקובץ]
[--לְהַחלִישׁ]
[--keep-symbols=שם הקובץ]
[--strip-symbols=שם הקובץ]
[--strip-unneeded-symbols=שם הקובץ]
[--keep-global-symbols=שם הקובץ]
[--localize-symbols=שם הקובץ]
[--globalize-symbols=שם הקובץ]
[--weaken-symbols=שם הקובץ]
[--alt-machine-code=מדד]
[--prefix-symbols=מחרוזת]
[--prefix-sections=מחרוזת]
[--prefix-aloc-sections=מחרוזת]
[--add-gnu-debuglink=נתיב לקובץ]
[--שמור-קובץ-סמלים]
[--רק-לשמור על ניפוי באגים]
[--חלץ-סמל]
[--טקסט ניתן לכתיבה]
[--טקסט לקריאה בלבד]
[--טָהוֹר]
[--טָמֵא]
[---file-alignment=NUM]
[--ערמה=גודל]
[--image-base=כתובת]
[---section-alignment=NUM]
[--מחסנית=גודל]
[--תת מערכת=אשר:גדול.קטין]
[--compress-debug-sections]
[--decompress-debug-sections]
[-v|--מִלוּלִי]
[-V|--גִרְסָה]
[- עזרה] [- מידע]
בקובץ [אוסף]
תיאור
ה- GNU עותק כלי השירות מעתיק את התוכן של קובץ אובייקט לאחר. עותק שימושים
ספריית GNU BFD כדי לקרוא ולכתוב את קבצי האובייקט. זה יכול לכתוב את היעד
קובץ אובייקט בפורמט שונה מזה של קובץ אובייקט המקור. ההתנהגות המדויקת
of עותק נשלט על ידי אפשרויות שורת הפקודה. ציין זאת עותק צריך להיות מסוגל
העתק קובץ מקושר לחלוטין בין שני פורמטים כלשהם. עם זאת, העתקת אובייקט שניתן להזזה
ייתכן שקובץ בין שני פורמטים לא יפעל כמצופה.
עותק יוצר קבצים זמניים כדי לבצע את התרגומים שלו ומוחק אותם לאחר מכן.
עותק משתמש ב-BFD כדי לבצע את כל עבודת התרגום שלו; יש לו גישה לכל הפורמטים
מתואר ב-BFD ובכך הוא מסוגל לזהות את רוב הפורמטים מבלי שנאמר להם במפורש.
עותק ניתן להשתמש ליצירת רשומות S על ידי שימוש ביעד פלט של סרק (למשל, השתמש -O
סרק).
עותק ניתן להשתמש כדי ליצור קובץ בינארי גולמי באמצעות יעד פלט של בינרי
(למשל, השתמש -O בינרי). מתי עותק יוצר קובץ בינארי גולמי, זה בעצם יעשה
לייצר זיכרון dump של התוכן של קובץ אובייקט הקלט. כל הסמלים ו
מידע על רילוקיישן יימחק. dump הזיכרון יתחיל בכתובת הטעינה
של החלק הנמוך ביותר שהועתק לקובץ הפלט.
בעת יצירת רשומה S או קובץ בינארי גולמי, זה עשוי להיות שימושי -S כדי להסיר
קטעים המכילים מידע על ניפוי באגים. במקרים מסוימים -R יהיה שימושי להסרה
קטעים המכילים מידע שאינו נחוץ על ידי הקובץ הבינארי.
הערה---עותק אינו מסוגל לשנות את מידת הקצה של קבצי הקלט שלו. אם הקלט
לפורמט יש קצה (חלק מהפורמטים לא), עותק יכול רק להעתיק את הקלט לקובץ
פורמטים בעלי אותה קצה או שאין להם קצה (למשל, סרק). (למרות זאת,
לראות --reverse-bytes אוֹפְּצִיָה.)
אפשרויות
בקובץ
אוסף
קבצי הקלט והפלט, בהתאמה. אם לא תפרט אוסף, עותק
יוצר קובץ זמני ומשנה באופן הרסני את שם התוצאה בשם של בקובץ.
-I bfdname
--input-target=bfdname
שקול את פורמט האובייקט של קובץ המקור להיות bfdname, במקום לנסות
להסיק את זה.
-O bfdname
--output-target=bfdname
כתוב את קובץ הפלט באמצעות פורמט האובייקט bfdname.
-F bfdname
--מטרה=bfdname
השתמש bfdname כפורמט האובייקט הן עבור קובץ הקלט והן עבור קובץ הפלט; כלומר, פשוט
העברת נתונים ממקור ליעד ללא תרגום.
-B bfdarch
--בינארי-ארכיטקטורה=bfdarch
שימושי בעת הפיכת קובץ קלט נטול ארכיטקטורה לקובץ אובייקט. בזה
במקרה שניתן להגדיר את ארכיטקטורת הפלט bfdarch. אפשרות זו תתעלם אם
לקובץ הקלט יש ידוע bfdarch. אתה יכול לגשת לנתונים הבינאריים האלה בתוך תוכנית
על ידי התייחסות לסמלים המיוחדים שנוצרים בתהליך ההמרה. אלה
סמלים נקראים _בינארי_מטרה_התחלה, _בינארי_מטרה_סוף ו
_בינארי_מטרה_גודל. למשל אתה יכול להפוך קובץ תמונה לקובץ אובייקט ו
ואז גש אליו בקוד שלך באמצעות סמלים אלה.
-j שם המדור
--only-section=שם המדור
העתק רק את הקטע בעל השם מקובץ הקלט לקובץ הפלט. אפשרות זו עשויה
ניתן יותר מפעם אחת. שים לב ששימוש לא הולם באפשרות זו עלול לגרום ל-
קובץ הפלט אינו שמיש.
-R שם המדור
--remove-section=שם המדור
הסר כל קטע בשם שם המדור מקובץ הפלט. אפשרות זו עשויה להינתן
יותר מפעם אחת. שים לב ששימוש לא הולם באפשרות זו עלול להפוך את קובץ הפלט
בלתי שמיש.
-S
סטריפ-הכל
אין להעתיק מידע על רילוקיישן וסמלים מקובץ המקור.
-g
---strip-debug
אין להעתיק סמלי ניפוי באגים או קטעים מקובץ המקור.
--פס-מיותר
הסר את כל הסמלים שאינם נחוצים לעיבוד רילוקיישן.
-K שם סמל
-שמור על סמל =שם סמל
בעת הפשטת סמלים, שמור על סמל שם סמל גם אם בדרך כלל זה היה מופשט.
אפשרות זו עשויה להינתן יותר מפעם אחת.
-N שם סמל
--strip-symbol=שם סמל
אל תעתיק סמל שם סמל מקובץ המקור. אפשרות זו עשויה להינתן יותר
מפעם אחת.
--strip-uneeded-symbol=שם סמל
אל תעתיק סמל שם סמל מקובץ המקור אלא אם כן הוא נחוץ על ידי א
רילוקיישן. אפשרות זו עשויה להינתן יותר מפעם אחת.
-G שם סמל
--keep-global-symbol=שם סמל
שמור רק סמל שם סמל גלוֹבָּלִי. הפוך את כל הסמלים האחרים למקומיים לקובץ, כך ש
הם אינם נראים כלפי חוץ. אפשרות זו עשויה להינתן יותר מפעם אחת.
--localize-hidden
באובייקט ELF, סמן את כל הסמלים שיש להם נראות נסתרת או פנימית כמקומיים.
אפשרות זו חלה על אפשרויות לוקליזציה ספציפיות לסמלים כגון -L.
-L שם סמל
--localize-symbol=שם סמל
הפוך סמל שם סמל מקומי לקובץ, כך שהוא לא יהיה גלוי חיצונית. זֶה
אפשרות ניתנת יותר מפעם אחת.
-W שם סמל
--להחליש-סמל=שם סמל
הפוך סמל שם סמל חלש. אפשרות זו עשויה להינתן יותר מפעם אחת.
--globalize-symbol=שם סמל
תן סמל שם סמל היקף גלובלי כך שהוא יהיה גלוי מחוץ לקובץ ב
שהוא מוגדר. אפשרות זו עשויה להינתן יותר מפעם אחת.
-w
-ווילדקארד
אפשר ביטויים רגולריים ב שם סמלבשימוש באפשרויות אחרות של שורת הפקודה. ה
סימני שאלה (?), כוכבית (*), קו נטוי אחורי (\) וסוגריים מרובעים ([]) יכולים
לשמש בכל מקום בשם הסמל. אם התו הראשון של שם הסמל הוא ה
סימן קריאה (!) אז תחושת המתג מתהפכת עבור אותו סמל. ל
דוּגמָה:
-w -W !foo -W fo*
יגרום ל-objcopy להחליש את כל הסמלים שמתחילים ב-"fo" מלבד הסמל
"פו".
-x
--זרוק-הכל
אל תעתיק סמלים לא גלובליים מקובץ המקור.
-X
--זרוק-מקומיים
אל תעתיק סמלים מקומיים שנוצרו על ידי מהדר. (אלו בדרך כלל מתחילים ב L or ..)
-b בייט
--byte=בייט
אם השזירה הופעלה דרך ה --שזירה אפשרות ואז התחל את הטווח של
בתים לשמור על בייטבייט. בייט יכול להיות בטווח שבין 0 ל רוחב-1, איפה
רוחב הוא הערך שניתן על ידי ה --שזירה אוֹפְּצִיָה.
-i [רוחב]
--interleave[=רוחב]
העתק רק טווח מכל אחד רוחב בתים. (נתוני הכותרת אינם מושפעים). בחר
איזה בייט בטווח מתחיל את ההעתקה ב- --בית אוֹפְּצִיָה. בחר את הרוחב של
הטווח עם ה --רוחב interleave אוֹפְּצִיָה.
אפשרות זו שימושית ליצירת קבצים לתכנת ROM. הוא משמש בדרך כלל עם an
יעד פלט "srec". ציין זאת עותק תתלונן אם לא תציין את
--בית אפשרות גם כן.
ברירת המחדל של רוחב השזירה הוא 4, אז עם --בית מוגדר ל-0, עותק יעתיק את
בית ראשון מתוך כל ארבעה בתים מהקלט לפלט.
--interleave-width=רוחב
בשימוש עם ה --שזירה אפשרות, העתקה רוחב בתים בכל פעם. ההתחלה של ה
טווח הבתים להעתקה נקבע על ידי ה- --בית אפשרות, והיקף הטווח
מוגדר עם --שזירה אוֹפְּצִיָה.
ערך ברירת המחדל עבור אפשרות זו הוא 1. הערך של רוחב בתוספת בייט ערך שנקבע על ידי
מה היא --בית אסור לחרוג מרוחב השזירה שנקבע על ידי --שזירה
אוֹפְּצִיָה.
ניתן להשתמש באפשרות זו ליצירת תמונות עבור שני הבזקים של 16 סיביות המשולבים ב-a
אוטובוס 32 סיביות במעבר -b 0 -i 4 --interleave-width=2 ו -b 2 -i 4
--interleave-width=2 לשני עותק פקודות. אם הקלט היה '12345678' אז ה-
הפלטים יהיו '1256' ו'3478' בהתאמה.
-p
--שימור-תאריכים
הגדר את תאריכי הגישה והשינוי של קובץ הפלט להיות זהים לאלו של
קובץ הקלט.
-- איתור באגים
המר מידע על ניפוי באגים, אם אפשר. זו לא ברירת המחדל כי רק
פורמטים מסוימים של ניפוי באגים נתמכים, ותהליך ההמרה יכול להיות זמן
צורכת.
--מילוי פער val
למלא פערים בין הקטעים עם val. פעולה זו חלה על לִטעוֹן כתובת (LMA)
של הסעיפים. זה נעשה על ידי הגדלת גודל הקטע עם התחתון
כתובת, ומילוי החלל הנוסף שנוצר עם val.
--pad-to כתובת
רפד את קובץ הפלט עד לכתובת הטעינה כתובת. זה נעשה על ידי הגדלת ה
גודל הקטע האחרון. הרווח הנוסף ממולא בערך שצוין על ידי
--מילוי פער (ברירת מחדל אפס).
--הצב התחלה val
הגדר את כתובת ההתחלה של הקובץ החדש ל val. לא כל פורמטים של קבצי אובייקט תומכים
הגדרת כתובת ההתחלה.
--שינוי-התחל תוספת
--התאם-התחל תוספת
שנה את כתובת ההתחלה על ידי הוספה תוספת. לא כל פורמטים של קבצי אובייקט תומכים בהגדרה
כתובת ההתחלה.
--שינוי כתובות תוספת
--adjust-vma תוספת
שנה את כתובות ה-VMA וה-LMA של כל המקטעים, כמו גם את כתובת ההתחלה, על ידי
מוסיף תוספת. פורמטים מסוימים של קבצי אובייקט אינם מאפשרים לשנות כתובות של חלקים
שרירותי. שימו לב שזה לא מעביר את המדורים; אם התוכנית מצפה
קטעים שיטענו בכתובת מסוימת, ואפשרות זו משמשת לשינוי ה-
מקטעים כך שהם נטענים בכתובת אחרת, התוכנית עלולה להיכשל.
--שנה-מדור-כתובת סעיף{=,+,-}val
--adjust-section-vma סעיף{=,+,-}val
הגדר או שנה גם את כתובת ה-VMA וגם את כתובת ה-LMA של השם סעיף. אם = is
בשימוש, כתובת המדור מוגדרת ל val. אחרת, val מתווסף או מופחת
מכתובת המדור. ראה את ההערות למטה --שינוי כתובות, למעלה. אם
סעיף לא קיים בקובץ הקלט, תינתן אזהרה, אלא אם כן
--אזהרות ללא שינוי משמש.
--change-section-lma סעיף{=,+,-}val
הגדר או שנה את כתובת ה-LMA של הנקרא סעיף. כתובת ה-LMA היא הכתובת
שבו הקטע ייטען לזיכרון בזמן טעינת התוכנית. בדרך כלל זה כן
זהה לכתובת VMA, שהיא הכתובת של הקטע בזמן ריצת התוכנית,
אבל במערכות מסוימות, במיוחד אלו שבהן קיימת תוכנית ב-ROM, השתיים יכולות להיות
שונה. אם = בשימוש, כתובת המדור מוגדרת ל val. אחרת, val מתווסף
אל כתובת המדור או מופחתת ממנה. ראה את ההערות למטה --שינוי כתובות,
מֵעַל. אם סעיף לא קיים בקובץ הקלט, תינתן אזהרה, אלא אם כן
--אזהרות ללא שינוי משמש.
--change-section-vma סעיף{=,+,-}val
הגדר או שנה את כתובת ה-VMA של השם סעיף. כתובת ה-VMA היא הכתובת
היכן הקטע ימוקם ברגע שהתוכנית תתחיל לפעול. בדרך כלל
זה זהה לכתובת LMA, שהיא הכתובת שבה יהיה הקטע
נטען בזיכרון, אבל במערכות מסוימות, במיוחד אלה שבהן תוכנית מוחזקה
ROM, השניים יכולים להיות שונים. אם = בשימוש, כתובת המדור מוגדרת ל val.
אחרת, val מתווסף או מופחת מכתובת המדור. ראה את ההערות
תחת --שינוי כתובות, למעלה. אם סעיף לא קיים בקובץ הקלט, א
תינתן אזהרה, אלא אם כן --אזהרות ללא שינוי משמש.
--שינוי-אזהרות
--התאם-אזהרות
If --שנה-מדור-כתובת or --change-section-lma or --change-section-vma משמש,
והסעיף הנקוב אינו קיים, תן אזהרה. זוהי ברירת המחדל.
--אזהרות ללא שינוי
--אזהרות ללא התאמה
אל תוציא אזהרה אם --שנה-מדור-כתובת or --adjust-section-lma or
--adjust-section-vma נעשה שימוש, גם אם הסעיף בעל השם אינו קיים.
--set-section-flags סעיף=דגלים
הגדר את הדגלים עבור הקטע בעל השם. ה דגלים ארגומנט הוא מחרוזת מופרדת בפסיק
של שמות הדגלים. השמות המוכרים הם להקצות, תוכן, לִטעוֹן, ללא עומס, באופן קריא,
קוד, נתונים, ROM, נתח, ו באגים. אתה יכול להגדיר את תוכן דגל עבור קטע אשר
אין תוכן, אבל אין משמעות לנקות את תוכן דגל של א
קטע שיש לו תוכן - פשוט הסר את הקטע במקום. לא כל הדגלים כן
משמעותי עבור כל הפורמטים של קבצי האובייקט.
--add-section שם המדור=שם הקובץ
הוסף קטע חדש בשם שם המדור תוך כדי העתקת הקובץ. התוכן של החדש
הקטע לקוח מהקובץ שם הקובץ. גודל הקטע יהיה בגודל של
הקובץ. אפשרות זו פועלת רק בפורמטים של קבצים שיכולים לתמוך בקטעים איתם
שמות שרירותיים.
--שנה שם-סעיף שם ישן=שם חדש[,דגלים]
שנה שם מקטע מ שם ישן ל שם חדש, שינוי אופציונלי של הדגלים של המדור ל
דגלים בתהליך. יש לזה יתרון על פני שימוש בסקריפט מקשר לביצוע
שנה שם בכך שהפלט נשאר כקובץ אובייקט ולא הופך למקושר
הפעלה.
אפשרות זו מועילה במיוחד כאשר פורמט הקלט הוא בינארי, שכן זה יהיה
תמיד ליצור קטע בשם .data. אם למשל, רצית במקום זאת ליצור א
סעיף שנקרא .rodata המכיל נתונים בינאריים תוכל להשתמש בשורת הפקודה הבאה
כדי להשיג את זה:
objcopy -I בינארי -O -ב \
--rename-section .data=.rodata,alloc,load,readonly,data,contents \
--שמות קטעים ארוכים {enable,disable,keep}
שולט בטיפול בשמות מקטעים ארוכים בעת עיבוד "COFF" ו-"PE-COFF"
פורמטים של אובייקטים. התנהגות ברירת המחדל, לשמור, הוא לשמר שמות קטעים ארוכים אם יש
נמצאים בקובץ הקלט. ה לאפשר ו להשבית אפשרויות מאפשרות בכוח או
השבת את השימוש בשמות מקטעים ארוכים באובייקט הפלט; מתי להשבית בתוקף,
כל שמות מקטעים ארוכים באובייקט הקלט יקוצצו. ה לאפשר אפשרות תהיה
פולט שמות קטעים ארוכים רק אם קיימים בכניסות; זה לרוב אותו דבר
as לשמור, אך לא מוגדר אם ה לאפשר אפשרות עשויה לאלץ את היצירה
של טבלת מחרוזת ריקה בקובץ הפלט.
--change-leading-char
חלק מהפורמטים של קבצי אובייקט משתמשים בתווים מיוחדים בתחילת הסמלים. הכי
תו נפוץ כזה הוא קו תחתון, שלעתים קרובות מהדרים מוסיפים לפני כל סמל.
אפשרות זו מספרת עותק לשנות את הדמות המובילה של כל סמל כאשר הוא
ממירה בין פורמטים של קבצי אובייקט. אם פורמטים של קובץ האובייקט השתמשו באותו מוביל
תו, לאפשרות זו אין השפעה. אחרת, הוא יוסיף תו, או יסיר א
דמות, או לשנות דמות, לפי העניין.
--remove-leading-char
אם התו הראשון של סמל גלובלי הוא סמל מיוחד תו מוביל בשימוש
לפי פורמט קובץ האובייקט, הסר את התו. הסמל הנפוץ ביותר המוביל
הדמות היא קו תחתון. אפשרות זו תסיר קו תחתון מוביל מכל העולם
סמלים. זה יכול להיות שימושי אם אתה רוצה לקשר בין אובייקטים של קבצים שונים
פורמטים עם מוסכמות שונות עבור שמות סמלים. זה שונה מ
--change-leading-char כי זה תמיד משנה את שם הסמל כאשר מתאים,
ללא קשר לפורמט קובץ האובייקט של קובץ הפלט.
--reverse-bytes=NUM
הפוך את הבתים בקטע עם תוכן פלט. אורך קטע חייב להיות שווה
מתחלק בערך שניתן על מנת שההחלפה תוכל להתבצע. היפוך
מתרחש לפני ביצוע השזירה.
אפשרות זו משמשת בדרך כלל ביצירת תמונות ROM עבור מערכות יעד בעייתיות.
לדוגמה, בחלק מלוחות היעד, המילים של 32 סיביות שנלקחו מ-8 סיביות ROM מחודשות.
מורכב בסדר בתים קטן אנדיאן ללא קשר לסדר בתים של המעבד. תלוי ב
במודל התכנות, ייתכן שיהיה צורך לשנות את מידת הקצה של ה-ROM.
שקול קובץ פשוט עם קטע המכיל את שמונת הבתים הבאים: 12345678.
שימוש --reverse-bytes=2 עבור הדוגמה לעיל, הבתים בקובץ הפלט יהיו
הזמין 21436587.
שימוש --reverse-bytes=4 עבור הדוגמה לעיל, הבתים בקובץ הפלט יהיו
הזמין 43218765.
על ידי שימוש --reverse-bytes=2 עבור הדוגמה לעיל, ואחריה --reverse-bytes=4 על
קובץ הפלט, הבתים בקובץ הפלט השני יוזמנו 34127856.
--srec-len=ival
משמעות רק עבור פלט srec. הגדר את האורך המרבי של ה-Srecords
מיוצר ל ival. אורך זה מכסה הן שדות כתובת, נתונים ו-crc.
--srec-forceS3
משמעות רק עבור פלט srec. הימנע מיצירת רשומות S1/S2, יצירת S3 בלבד
פורמט שיא.
---refine-sym זקן=חדש
שנה את השם של סמל זקן, כדי חדש. זה יכול להיות שימושי כאשר מישהו מנסה קישור
שני דברים ביחד שאין לך מקור להם, ויש התנגשויות שמות.
--refine-syms=שם הקובץ
החל ---refine-sym לכל זוג סמלים"זקן חדש" רשום בקובץ שם הקובץ.
שם הקובץ הוא פשוט קובץ שטוח, עם זוג סמלים אחד בכל שורה. הערות שורה עשויות להיות
מוצג על ידי תו ה-hash. אפשרות זו עשויה להינתן יותר מפעם אחת.
--לְהַחלִישׁ
שנה את כל הסמלים הגלובליים בקובץ להיות חלשים. זה יכול להיות שימושי בעת בניית א
אובייקט שיקושר לאובייקטים אחרים באמצעות ה- -R אפשרות למקשר.
אפשרות זו יעילה רק כאשר משתמשים בפורמט קובץ אובייקט התומך בחלש
סמלים.
--keep-symbols=שם הקובץ
החל --שמור-סמל אפשרות לכל סמל הרשום בקובץ שם הקובץ. שם הקובץ is
פשוט קובץ שטוח, עם שם סמל אחד בכל שורה. הערות שורה עשויות להיות מוצגות על ידי
תו ה-hash. אפשרות זו עשויה להינתן יותר מפעם אחת.
--strip-symbols=שם הקובץ
החל --סמל-רצועה אפשרות לכל סמל הרשום בקובץ שם הקובץ. שם הקובץ is
פשוט קובץ שטוח, עם שם סמל אחד בכל שורה. הערות שורה עשויות להיות מוצגות על ידי
תו ה-hash. אפשרות זו עשויה להינתן יותר מפעם אחת.
--strip-unneeded-symbols=שם הקובץ
החל סמל-רצועה-מיותר אפשרות לכל סמל הרשום בקובץ שם הקובץ.
שם הקובץ הוא פשוט קובץ שטוח, עם שם סמל אחד בכל שורה. הערות שורה עשויות להיות
מוצג על ידי תו ה-hash. אפשרות זו עשויה להינתן יותר מפעם אחת.
--keep-global-symbols=שם הקובץ
החל --שמור-סמל-גלובלי אפשרות לכל סמל הרשום בקובץ שם הקובץ.
שם הקובץ הוא פשוט קובץ שטוח, עם שם סמל אחד בכל שורה. הערות שורה עשויות להיות
מוצג על ידי תו ה-hash. אפשרות זו עשויה להינתן יותר מפעם אחת.
--localize-symbols=שם הקובץ
החל --סמל-לוקליז אפשרות לכל סמל הרשום בקובץ שם הקובץ. שם הקובץ
הוא פשוט קובץ שטוח, עם שם סמל אחד בכל שורה. ייתכן שיוצגו הערות בשורה
לפי תו ה-hash. אפשרות זו עשויה להינתן יותר מפעם אחת.
--globalize-symbols=שם הקובץ
החל --גלוב-סמל אפשרות לכל סמל הרשום בקובץ שם הקובץ. שם הקובץ
הוא פשוט קובץ שטוח, עם שם סמל אחד בכל שורה. ייתכן שיוצגו הערות בשורה
לפי תו ה-hash. אפשרות זו עשויה להינתן יותר מפעם אחת.
--weaken-symbols=שם הקובץ
החל --להחליש-סמל אפשרות לכל סמל הרשום בקובץ שם הקובץ. שם הקובץ is
פשוט קובץ שטוח, עם שם סמל אחד בכל שורה. הערות שורה עשויות להיות מוצגות על ידי
תו ה-hash. אפשרות זו עשויה להינתן יותר מפעם אחת.
--alt-machine-code=מדד
אם לארכיטקטורת הפלט יש קודי מכונה חלופיים, השתמש ב- מדדהקוד במקום
של ברירת המחדל. זה שימושי במקרה שלמכונה מוקצה קוד רשמי ו
שרשרת הכלים מאמצת את הקוד החדש, אך יישומים אחרים עדיין תלויים ב-
נעשה שימוש בקוד המקורי. עבור ארכיטקטורות מבוססות ELF אם ה מדד אלטרנטיבה עושה זאת
לא קיים אז הערך יטופל כמספר מוחלט שיש לאחסן ב-
שדה e_machine של כותרת ה-ELF.
--טקסט ניתן לכתיבה
סמן את טקסט הפלט ככתוב. אפשרות זו אינה משמעותית עבור כל קבצי האובייקט
פורמטים.
--טקסט לקריאה בלבד
הפוך את טקסט הפלט לכתיבה מוגן. אפשרות זו אינה משמעותית עבור כל האובייקטים
פורמטים של קבצים.
--טָהוֹר
סמן את קובץ הפלט כדפדפן דרישה. אפשרות זו אינה משמעותית עבור כל האובייקטים
פורמטים של קבצים.
--טָמֵא
סמן את קובץ הפלט כלא טהור. אפשרות זו אינה משמעותית עבור כל קבצי האובייקטים
פורמטים.
--prefix-symbols=מחרוזת
קידומת כל הסמלים בקובץ הפלט עם מחרוזת.
--prefix-sections=מחרוזת
קידומת כל שמות הסעיפים בקובץ הפלט עם מחרוזת.
--prefix-aloc-sections=מחרוזת
קידומת כל השמות של כל הסעיפים שהוקצו בקובץ הפלט עם מחרוזת.
--add-gnu-debuglink=נתיב לקובץ
יוצר מקטע .gnu_debuglink המכיל הפניה ל נתיב לקובץ ומוסיף
זה לקובץ הפלט.
--שמור-קובץ-סמלים
בעת הפשטת קובץ, אולי עם ---strip-debug or --פס-מיותר, לשמור על כל
סמלים המציינים את שמות קבצי המקור, שאחרת היו נמחקים.
--רק-לשמור על ניפוי באגים
הסר קובץ, הסרת תוכן של כל חלקים שלא יימחקו על ידי
---strip-debug והשארת חלקי ניפוי הבאגים ללא פגע. בקבצי ELF, זה נשמר
כל קטעי ההערה בפלט.
הכוונה היא שאופציה זו תשמש בשילוב עם --add-gnu-debuglink
כדי ליצור קובץ הפעלה בשני חלקים. אחד בינארי מופשט אשר יתפוס פחות מקום
ב-RAM ובתפוצה והשני קובץ מידע באגים שהוא בלבד
נחוץ אם נדרשות יכולות ניפוי באגים. ההליך המוצע ליצירת אלה
הקבצים הם כדלקמן:
1.
"פו" אז...
1.
ליצור קובץ המכיל את מידע ניפוי הבאגים.
1.
קובץ הפעלה מופשט.
1.
כדי להוסיף קישור למידע על ניפוי באגים לקובץ ההפעלה שהוסר.
שים לב --- הבחירה ב-".dbg" בתור סיומת לקובץ המידע באגים היא שרירותית.
גם השלב "--רק-שמור-ניפוי באגים" הוא אופציונלי. אתה יכול במקום זאת לעשות זאת:
1.
1.
1.
1.
כלומר, הקובץ שעליו הצביע ה- --add-gnu-debuglink יכול להיות קובץ ההפעלה המלא. זה
לא חייב להיות קובץ שנוצר על ידי --רק-לשמור על ניפוי באגים מתג.
הערה --- מתג זה מיועד לשימוש רק בקבצים מקושרים מלאים. זה לא עושה
הגיוני להשתמש בו על קובצי אובייקט שבהם ייתכן שמידע איתור הבאגים אינו שלם.
חוץ מזה התכונה gnu_debuglink תומכת כרגע רק בנוכחות של שם קובץ אחד
מכיל מידע על ניפוי באגים, לא שמות קבצים מרובים בקובץ אחד לכל אובייקט
בסיס.
--יישור קבצים NUM
ציין את יישור הקובץ. קטעים בקובץ יתחילו תמיד בקיזוז קבצים
שהם כפולות של מספר זה. ברירת המחדל היא 512. [אפשרות זו היא ספציפית
למטרות PE.]
--ערימה לְהַזמִין
--ערימה לְהַזמִין,לבצע
ציין את מספר הבתים של הזיכרון שיש לשמור (ואופציונלי להתחייב) לשימוש
ערימה עבור התוכנית הזו. [אפשרות זו היא ספציפית למטרות PE.]
---image-base ערך
השתמש ערך ככתובת הבסיס של התוכנית או ה-dll שלך. זהו הזיכרון הנמוך ביותר
מיקום שישמש כאשר התוכנית או ה-dll שלך נטענים. כדי לצמצם את הצורך
להעביר ולשפר את הביצועים של קבצי ה-DLL שלך, לכל אחד מהם צריכה להיות כתובת בסיס ייחודית
ולא חופפים לאף קובץ dll אחר. ברירת המחדל היא 0x400000 עבור קובצי הפעלה, ו
0x10000000 עבור קבצי dll. [אפשרות זו היא ספציפית למטרות PE.]
-- יישור מקטע NUM
מגדיר את יישור הקטע. קטעים בזיכרון תמיד יתחילו בכתובות אשר
הם כפולה של מספר זה. ברירת המחדל היא 0x1000. [אפשרות זו היא ספציפית ל-PE
מטרות.]
--לַעֲרוֹם לְהַזמִין
--לַעֲרוֹם לְהַזמִין,לבצע
ציין את מספר הבתים של הזיכרון שיש לשמור (ואופציונלי להתחייב) לשימוש
מחסנית עבור תוכנית זו. [אפשרות זו היא ספציפית למטרות PE.]
-- תת מערכת אשר
-- תת מערכת אשר:גדול
-- תת מערכת אשר:גדול.קטין
מציין את תת-המערכת שבה התוכנית שלך תבוצע. הערכים המשפטיים עבור
אשר הם "מקורי", "חלונות", "קונסול", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd", ו-"xbox". אתה יכול להגדיר גם את גרסת תת-המערכת. מספרי
ערכים מקובלים גם עבור אשר. [אפשרות זו היא ספציפית למטרות PE.]
--חלץ-סמל
שמור את הדגלים והסמלים של הקובץ אך הסר את כל נתוני הקטע. במיוחד,
האפשרות:
*
*
*
אפשרות זו משמשת לבניית א .sym קובץ עבור ליבת VxWorks. זה יכול להיות גם א
דרך שימושית להקטנת הגודל של א --רק-סמלים קובץ קלט מקשר.
--compress-debug-sections
דחוס קטעי ניפוי באגים של DWARF באמצעות zlib.
--decompress-debug-sections
דחוס קטעי ניפוי באגים של DWARF באמצעות zlib.
-V
--גִרְסָה
הצג את מספר הגרסה של עותק.
-v
--מִלוּלִי
פלט מפורט: רשום את כל קבצי האובייקטים ששונו. במקרה של ארכיון, עותק -V
מפרט את כל חברי הארכיון.
- עזרה
הצג סיכום של האפשרויות ל עותק.
- מידע
הצג רשימה המציגה את כל הארכיטקטורות והפורמטים הזמינים של אובייקטים.
@פילה
קרא את אפשרויות שורת הפקודה מ פילה. האפשרויות שנקראו מוכנסות במקום
מקורי @פילה אוֹפְּצִיָה. אם פילה לא קיים, או לא ניתן לקרוא, אז האפשרות
יטופל פשוטו כמשמעו, ולא יוסר.
אפשרויות ב פילה מופרדים על ידי רווח לבן. תו רווח עשוי להיכלל
באופציה על ידי הקיפת כל האופציה במרכאות בודדות או כפולות. כל
תו (כולל קו נטוי אחורי) עשוי להיכלל על ידי הקדמת התו להיות
כלול עם קו נטוי אחורי. ה פילה עשוי בעצמו להכיל @ נוסףפילה אפשרויות; כל
אפשרויות כאלה יעובדו באופן רקורסיבי.
השתמש ב-msp430-objcopy באינטרנט באמצעות שירותי onworks.net