GoGPT Best VPN GoSearch

סמל OnWorks

i686-w64-mingw32-dlltool - מקוון בענן

הפעל את i686-w64-mingw32-dlltool בספק האירוח החינמי של OnWorks דרך Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה i686-w64-mingw32-dlltool שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות החינמיות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS.

תָכְנִית:

שֵׁם


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

תַקצִיר


כלי dll [-d|--input-def שם קובץ-def]
[-b|--קובץ בסיס שם-קובץ-בסיסי]
[-e|--פלט-אקספרס שם קובץ-יצוא]
[-z|--output-def שם קובץ-def]
[-l|--פלט-lib שם-קובץ-הספרייה]
[-y|--output-delaylib שם-קובץ-הספרייה]
[--ייצוא-כל-סמלים] [--אין-ייצוא-את-כל-הסמלים]
[--אל תכלול-סמלים רשימה]
[--no-default-excludes]
[-S|--כפי ש נתיב לאסמבלר] [-f|--כדגלים אפשרויות]
[-D|--dllname שם] [-m|--מְכוֹנָה מכונה]
[-a|--הוסף-עקיף]
[-U|--הוסף-קו תחתון] [--הוסף-stdcall-תחתון]
[-k|--להרוג ב] [-A|--add-stdcall-alias]
[-p|--קידומת-ext-alias קידומת]
[-x|--no-idata4] [-c|--no-idata5]
[--use-nul-prefixed-import-tables]
[-I|--לזהות שם-קובץ-הספרייה] [--זיהוי-קפדני]
[-i|--עבודה משותפת]
[-n|--nodelete] [-t|--קידומת זמנית קידומת]
[-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, היא צריכה להיות בעלת
-יְצוּא: כניסה ב .directve מקטע קובץ האובייקט. זה יכול להיות
נעשה ב-C באמצעות asm() מפעיל:

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

int my_func (ריק) { ... }

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

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

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

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

הנה דוגמה ליצירת DLL מקובץ מקור dll.c וגם יצירת תוכנית
(מקובץ אובייקט בשם תוכנית.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 program

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

אפשרויות


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--use-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 קידומת
--קידומת זמנית קידומת
עושה dlltool להשתמש קידומת בעת בניית שמות של אסמבלר זמני ואובייקט
קבצים. כברירת מחדל, קידומת קובץ הזמני נוצרת מה-pid.

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

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

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

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

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

השתמש ב-i686-w64-mingw32-dlltool באופן מקוון באמצעות שירותי onworks.net


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

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

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

Ad




×
פרסומת
❤️קנו, הזמינו או קנו כאן - ללא עלות, עוזר לשמור על שירותים בחינם.