אנגליתצרפתיתספרדי

Ad


סמל OnWorks

arm-linux-androideabi-dlltool - מקוון בענן

הפעל arm-linux-androideabi-dlltool בספק אירוח חינמי של OnWorks באמצעות אובונטו מקוון, פדורה מקוון, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זהו כלי הפקודה-linux-androideabi-dll שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


dlltool - צור קבצים הדרושים לבניית קובצי DLL ולהשתמש בהם.

תַקצִיר


dlltool [-d|--input-def def-file-name]
[-b|--קובץ בסיס שם קובץ בסיס]
[-e|--output-exp ייצוא-קובץ-שם]
[-z|--output-def def-file-name]
[-l|--output-lib ספריית-קובץ-שם]
[-y|--output-delaylib ספריית-קובץ-שם]
[--ייצוא-כל-סמלים] [--אין-ייצוא-כל-סמלים]
[--אל תכלול-סמלים רשימה]
[--no-default-excludes]
[-S|--כפי ש נתיב להרכבה] [-f|--כ-דגלים אפשרויות]
[-D|--שם dll שם] [-m|--מְכוֹנָה מכונה]
[-a|--הוסף-עקיף]
[-U|--הוסף-קו תחתון] [--add-stdcall-underscore]
[-k|--להרוג ב] [-A|--add-stdcall-alias]
[-p|--ext-prefix-alias קידומת]
[-x|--no-idata4] [-c|--no-idata5]
[--השתמש בטבלאות-nul-prefixed-import-tables]
[-I|--לזהות ספריית-קובץ-שם] [--זהה-מחמיר]
[-i|--עבודה הדדית]
[-n|--nodelete] [-t|--temp-prefix קידומת]
[-v|--מִלוּלִי]
[-h|- עזרה] [-V|--גִרְסָה]
[--אין קו תחתון מוביל] [--קו תחתון מוביל]
[קובץ-אובייקט...]

תיאור


dlltool קורא את הקלט שלו, שיכול להגיע מה- -d ו -b אפשרויות כמו גם אובייקט
קבצים שצוינו בשורת הפקודה. לאחר מכן הוא מעבד את התשומות הללו ואם ה -e אוֹפְּצִיָה
צוין זה יוצר קובץ ייצוא. אם ה -l צוינה אפשרות זו
יוצר קובץ ספריה ואם ה -z צוינה אפשרות זה יוצר קובץ def. כל
או את כל ה -e, -l ו -z אפשרויות יכולות להיות נוכחות בהפעלה אחת של dlltool.

בעת יצירת DLL, יחד עם המקור ל-DLL, יש צורך בשלוש
קבצים אחרים. dlltool יכול לעזור ביצירת קבצים אלה.

הקובץ הראשון הוא א .def קובץ שמציין אילו פונקציות מיוצאות מה-DLL,
אילו פונקציות ה-DLL מייבא, וכן הלאה. זהו קובץ טקסט וניתן ליצור אותו על ידי
יד, או dlltool ניתן להשתמש כדי ליצור אותו באמצעות -z אוֹפְּצִיָה. במקרה הזה dlltool יצטרך
סרוק את קבצי האובייקט שצוינו בשורת הפקודה שלו בחיפוש אחר הפונקציות שיש להם
סומנו במיוחד כמיוצאים והכניסו עבורם ערכים ב- .def להגיש את זה
יוצר.

על מנת לסמן פונקציה כמיוצאת מ-DLL, היא צריכה להיות בעלת
-יְצוּא: כניסה ב .drectve קטע של קובץ האובייקט. זה יכול להיות
נעשה ב-C באמצעות ה- asm() מפעיל:

asm (.section .drectve");
asm (.ascii \"-export:my_func\"");

int my_func (void) { ... }

הקובץ השני הדרוש ליצירת DLL הוא קובץ ייצוא. קובץ זה מקושר עם
קבצי אובייקט המרכיבים את גוף ה-DLL והוא מטפל בממשק בין ה-DLL
והעולם שבחוץ. זהו קובץ בינארי וניתן ליצור אותו על ידי מתן ה- -e
אפשרות ל dlltool כאשר הוא יוצר או קורא ב-a .def קובץ.

הקובץ השלישי הדרוש ליצירת DLL הוא קובץ הספרייה שתוכניות יקשרו אליו
כדי לגשת לפונקציות ב-DLL (`ספריית ייבוא'). ניתן ליצור קובץ זה
על ידי מתן ה -l אפשרות ל-dlltool כאשר הוא יוצר או קורא ב-a .def קובץ.

אם -y האפשרות מצוינת, dlltool מייצר ספריית יבוא עיכוב שניתן להשתמש בה
במקום ספריית הייבוא ​​הרגילה כדי לאפשר לתוכנית לקשר ל-dll רק בהקדם
פונקציה מיובאת נקראת בפעם הראשונה. קובץ ההפעלה שהתקבל יצטרך
להיות מקושר לספריית delayimp הסטטית המכילה __delayLoadHelper2(), שבתורו
ייבא את LoadLibraryA ו-GetProcAddress מ- kernel32.

dlltool בונה את קובץ הספרייה ביד, אבל הוא בונה את קובץ הייצוא על ידי יצירה
קבצים זמניים המכילים הצהרות assembler ולאחר מכן הרכבת אלה. ה -S הפקודה
ניתן להשתמש באפשרות line כדי לציין את הנתיב ל-assembler שבו dlltool ישתמש, ו
מה היא -f ניתן להשתמש באפשרות כדי להעביר דגלים ספציפיים לאותו assembler. ה -n ניתן להשתמש בו כדי
למנוע מ-dlltool למחוק את קבצי ה-assembler הזמניים האלה כאשר זה נעשה, ואם -n
צוין פעמיים ואז זה ימנע מ-dlltool למחוק את קבצי האובייקט הזמניים
זה נהג לבנות את הספרייה.

הנה דוגמה ליצירת DLL מקובץ מקור dll.c וגם יצירת תוכנית
(מתוך קובץ אובייקט שנקרא program.o) שמשתמש ב-DLL הזה:

gcc -c dll.c
dlltool -e exports.o -l dll.lib dll.o
gcc dll.o exports.o -o dll.dll
תוכנית gcc program.o dll.lib -o

dlltool עשוי לשמש גם לשאילתה בספריית ייבוא ​​קיימת כדי לקבוע את השם של
DLL אליו הוא משויך. ראה את התיאור של -I or --לזהות אוֹפְּצִיָה.

אפשרויות


לאפשרויות שורת הפקודה יש ​​את המשמעויות הבאות:

-d שם הקובץ
--input-def שם הקובץ
מציין את השם של א .def קובץ לקריאה ולעיבוד.

-b שם הקובץ
--קובץ בסיס שם הקובץ
מציין את שם קובץ הבסיס שיש לקרוא ולעבד אותו. התוכן של זה
הקובץ יתווסף למקטע הרילוקיישן בקובץ הייצוא שנוצר על ידי dlltool.

-e שם הקובץ
--output-exp שם הקובץ
מציין את שם קובץ הייצוא שייווצר על ידי dlltool.

-z שם הקובץ
--output-def שם הקובץ
מציין את השם של .def קובץ שייווצר על ידי dlltool.

-l שם הקובץ
--output-lib שם הקובץ
מציין את שם קובץ הספרייה שייווצר על ידי dlltool.

-y שם הקובץ
--output-delaylib שם הקובץ
מציין את השם של קובץ ספריית ייבוא ​​ההשהיה שייווצר על ידי dlltool.

--ייצוא-כל-סמלים
התייחס לכל הסמלים המוגדרים הגלובאליים והחלשים שנמצאים בקבצי אובייקט הקלט כסמלים
לייצא. יש רשימה קטנה של סמלים שאינם מיוצאים כברירת מחדל;
לראות --no-default-excludes אוֹפְּצִיָה. אתה יכול להוסיף לרשימת הסמלים לא
ייצא באמצעות ה --אל תכלול-סמלים אוֹפְּצִיָה.

--אין-ייצוא-כל-סמלים
ייצא רק סמלים הרשומים במפורש בקלט .def קובץ או ב- .drectve חלקים ב
קבצי אובייקט הקלט. זוהי התנהגות ברירת המחדל. ה .drectve סעיפים הם
נוצר על ידי dllexport תכונות בקוד המקור.

--אל תכלול-סמלים רשימה
אל תייצא את הסמלים פנימה רשימה. זוהי רשימה של שמות סמלים מופרדים בפסיק
או תווים נקודתיים. שמות הסמלים לא צריכים להכיל קו תחתון מוביל. זֶה
הוא בעל משמעות רק כאשר --ייצוא-כל-סמלים משמש.

--no-default-excludes
מתי --ייצוא-כל-סמלים בשימוש, הוא ימנע כברירת מחדל מייצוא מיוחדים מסוימים
סמלים. הרשימה הנוכחית של סמלים להימנע מייצוא היא DllMain@12,
DllEntryPoint@0, impure_ptr. אתה יכול להשתמש ב --no-default-excludes אפשרות להמשיך
וייצא את הסמלים המיוחדים האלה. זה משמעותי רק כאשר --ייצוא-כל-סמלים
משמש.

-S נתיב
--כפי ש נתיב
מציין את הנתיב, כולל שם הקובץ, של ה-assembler שישמש ליצירת ה-
קובץ ייצוא.

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

-D שם
--שם dll שם
מציין את השם שיש לאחסן ב- .def קובץ כשם ה-DLL כאשר ה- -e
נעשה שימוש באופציה. אם אפשרות זו אינה קיימת, אזי שם הקובץ שניתן ל- -e
האפשרות תשמש כשם ה-DLL.

-m מכונה
-מְכוֹנָה מכונה
מציין את סוג המחשב שעבורו יש לבנות את קובץ הספרייה. dlltool יש ל
סוג ברירת מחדל מובנה, תלוי איך הוא נוצר, אבל אפשרות זו יכולה להיות
נהג לעקוף את זה. זה בדרך כלל שימושי רק בעת יצירת DLL עבור ARM
מעבד, כאשר התוכן של ה-DLL מקודד למעשה באמצעות הוראות Thumb.

-a
--הוסף-עקיף
מציין מתי dlltool הוא יוצר את קובץ הייצוא הוא צריך להוסיף קטע אשר
מאפשר הפניה לפונקציות המיוצאות ללא שימוש בספריית הייבוא.
מה לעזאזל זה אומר!

-U
--הוסף-קו תחתון
מציין מתי dlltool הוא יוצר את קובץ הייצוא, הוא צריך להוסיף
קו תחתון לשמות של את כל סמלים מיוצאים.

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

--add-stdcall-underscore
מציין מתי dlltool הוא יוצר את קובץ הייצוא, הוא צריך להוסיף
קו תחתון לשמות המיוצאים stdcall פונקציות. שמות משתנים ו-non-stdcall
שמות הפונקציות אינם משתנים. אפשרות זו שימושית בעת יצירת תואם GNU
ייבוא ​​libs עבור DLL של צד שלישי שנבנו עם כלי MS-Windows.

-k
--להרוג ב
מפרט את זה @ יש להשמיט סיומות מהשמות של stdcall
פונקציות שיובאו מה-DLL. זה שימושי בעת יצירת ייבוא
ספריה עבור DLL אשר מייצא פונקציות stdcall אך ללא הרגיל @
סיומת שם סמל.

זה לא משנה את שמות הסמלים שמסופקים על ידי ספריית הייבוא ​​לתוכניות
מקושרים נגדו, אלא רק הערכים בטבלת הייבוא ​​(כלומר סעיף .idata).

-A
--add-stdcall-alias
מציין מתי dlltool יוצר את קובץ הייצוא שעליו להוסיף כינויים עבורו
סמלי stdcall ללא @ בנוסף לסמלים עם @ .

-p
--ext-prefix-alias קידומת
סיבות dlltool כדי ליצור כינויים חיצוניים עבור כל ייבוא ​​DLL עם ההגדרה שצוינה
קידומת. הכינויים נוצרים הן עבור סמלים חיצוניים והן עבור סמלים ייבוא ​​ללא מוביל
מדגיש.

-x
--no-idata4
מציין מתי dlltool יוצר את קובצי הייצוא והספרייה שעליו להשמיט
הקטע ".idata4". זה נועד לתאימות עם מערכות הפעלה מסוימות.

--השתמש בטבלאות-nul-prefixed-import-tables
מציין מתי dlltool הוא יוצר את קובצי הייצוא והספרייה שהוא צריך לקדמו
את ".idata4" ו-".idata5" באפס אלמנט. זה מחקה את ספריית הייבוא ​​הישנה של gnu
דור של "dlltool". כברירת מחדל אפשרות זו כבויה.

-c
--no-idata5
מציין מתי dlltool יוצר את קובצי הייצוא והספרייה שעליו להשמיט
הקטע ".idata5". זה נועד לתאימות עם מערכות הפעלה מסוימות.

-I שם הקובץ
--לזהות שם הקובץ
מפרט את זה dlltool צריך לבדוק את ספריית הייבוא ​​המצוינת על ידי שם הקובץ ו
דווח, ב-"stdout", על שמות ה-DLL המשויכים. ניתן לבצע זאת ב
תוספת לכל פעולות אחרות המצוינות על ידי האפשרויות והטיעונים האחרים.
dlltool נכשל אם ספריית הייבוא ​​לא קיימת או אינה למעשה ייבוא
סִפְרִיָה. ראה גם --זהה-מחמיר.

--זהה-מחמיר
משנה את ההתנהגות של --לזהות אפשרות, כך שתדווח על שגיאה אם
שם הקובץ משויך ליותר מ-DLL אחד.

-i
--עבודה הדדית
מפרט את זה dlltool צריך לסמן את האובייקטים בקובץ הספרייה ובקובץ הייצוא
שהוא מייצר כתומכת בשיתוף פעולה בין ARM וקוד Thumb.

-n
--nodelete
עושה dlltool לשמור את קבצי האסמבלר הזמניים שבהם השתמשו ליצירת הייצוא
קוֹבֶץ. אם אפשרות זו חוזרת על עצמה, dlltool ישמר גם את האובייקט הזמני
קבצים שבהם הוא משתמש כדי ליצור את קובץ הספרייה.

-t קידומת
--temp-prefix קידומת
עושה dlltool להשתמש קידומת בעת בניית שמות של מרכיב ואובייקט זמניים
קבצים. כברירת מחדל, קידומת הקובץ הזמני נוצרת מה-pid.

-v
--מִלוּלִי
הפוך את dlltool לתאר מה הוא עושה.

-h
- עזרה
מציג רשימה של אפשרויות שורת הפקודה ולאחר מכן יוצא.

-V
--גִרְסָה
מציג את מספר הגרסה של dlltool ואז יוצא.

@פילה
קרא את אפשרויות שורת הפקודה מ פילה. האפשרויות שנקראו מוכנסות במקום
מקורי @פילה אוֹפְּצִיָה. אם פילה לא קיים, או לא ניתן לקרוא, אז האפשרות
יטופל פשוטו כמשמעו, ולא יוסר.

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

השתמש ב-arm-linux-androideabi-dlltool מקוון באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

פקודות לינוקס

Ad