פורסם 2010 במאי 315 שנים שלום לכולם , שאלה קטנה יש לי מחרוזת עם שם של פונקציה ואני רוצה לקרוא לפונקציה מסויימת באמצעות המחרוזת כיצד ניתן לעשות זאת ?
פורסם 2010 במאי 315 שנים מחבר סליחה , כן זה חשוב לציין באיזה שפה אתה עובד אני מחפש לעשות את זה ב C / C++
פורסם 2010 במאי 315 שנים לא אפשרי.זה אפשרי רק אם אתה מכין את זה מראש, לדוגמה ע"י יצירת hash map שמקשר בין מחרוזות לפונקציות.
פורסם 2010 במאי 315 שנים מחבר כן את זה אני מכיר , פשוט יש לי מעל 120 פונקציות שאני מקבל את השמות שלהם ממסד נתונים כך שזה פתרון די ארוך . נראה לי שאני פשוט אעשה Case ענק וזהו בכללי אתה יודע אם ניתן לעשות את זה באמצעות שפה אחרת ? כי אולי אני פשוט אשלב.....
פורסם 2010 במאי 315 שנים בשפות מתקדמות יותר אפשר לעשות את זה באמצעות reflection, ובשפות סקריפטינג אפשר לעשות את זה באמצעות eval.
פורסם 2010 במאי 315 שנים לאיזו מערכת הפעלה אתה מתכנת?בלינוקס יש לי פונקציות dlopen dlsym שאני לא יודע אם קיימות גם לווינדוס.במידה ושמים את בפונקציות שצריך לבחור בספריה דינמית (so או dll) ניתן למפות אותן לתוך מצביע באמצעות הפונקציות האלה, ופשוט לקרוא אחרי זה למצביע.עריכהחיפוש קצר באינטרנט מצא שיש לווינדוס בשמות קצת שוניםhttp://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=746&lngWId=3
פורסם 2010 במאי 315 שנים גם בחלונות זה אפשרי (באמצעות LoadLibrary ו-GetProcAddress), אבל זו פשוט דרך עקיפה (מאוד) ליצירת מילון שממפה בין שמות של פונקציות לפונקציות עצמן.
פורסם 2010 במאי 315 שנים כן הוספתי קישור לפונקציות האלה בווינדוס.אבל למה דרך עקיפה? כאן בזמן ריצה אתה מכניס את המחרוזת של שם הפונקציה ומקבל את המצביע.מילון זה שורות סטטיות.
פורסם 2010 במאי 315 שנים הממ, בעצם יש משהו בדבריך. החסרון העיקרי כאן הוא שזה דורש לעבוד מול DLLים, שזה לא כיף.
פורסם 2010 במאי 415 שנים מחבר תודה חברים אבל נראה לי שאני מעדיף לכתוב קצת יותר או להכין Hash Table קצת ארוכה מאשר לעבוד עם DLL הסיבה היא שיש לי בערך כ 120 פונקציות שונות המחולקות ל 12 קבצים ואומנם יש ל DLL כמה יתרונות אבל העבודה והקומפילציה קצת מסורבלת ואין לי יותר מידי זמן לבזבז...בכל מקרה תודה רבה על העזרה !
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.