| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Вызов функции в си с именем в переменной |
| Автор: kavkaz 26.1.2011, 08:47 |
| Есть необходимость вызывать функцию, при условии, что ёё имя задано в переменной. Функции также нужно передать аргументы. В какую сторону рыть? |
| Автор: mes 26.1.2011, 09:14 |
| смотря что за функция.. если экспортируемая с длл, то см. GetProcAddress иначе самостоятельно составить карту соответствий строк функциям.. |
| Автор: kavkaz 26.1.2011, 09:40 | ||
Всё банально
Но с кол-вом функций больше 20-30 писать карту не хотелось бы |
| Автор: boostcoder 26.1.2011, 10:13 | ||||
это вы о чем? зы а по поводу карты соответствия имен и функций - у mes в этом огромный опыт. вот только я не представляю как это реализовать в Си |
| Автор: kavkaz 26.1.2011, 10:47 | ||
| Позвольте ещё уточнить. Вот пример кода
Какие нужно здесь провести преобразования в main, чтобы вызвать функцию, название которой в переменной out ? На какие темы гуглить для этого? |
| Автор: boostcoder 26.1.2011, 10:51 |
метагенераторы |
| Автор: mes 26.1.2011, 11:19 |
http://liveworkspace.org/code/cbfc0bbd740ea21569324f7b010a88d8 |
| Автор: kavkaz 26.1.2011, 11:22 |
| mes, Задача не то, чтобы учебная, пробую писать модуль для perl (XS). Вот думал передавать обертке имя функции, которую нужно вызвать, чтобы получить сгенерированные данные. Добавлено через 4 минуты и 17 секунд Спасибо mes, вопрос исчерпан, для затравки более чем достаточно. |
| Автор: xvr 26.1.2011, 11:34 |
В сторону скриптовых языков. Ни С ни С++ напрямую это не поддерживают. |
| Автор: boostcoder 26.1.2011, 11:39 |
неее, так не честно |
| Автор: mes 26.1.2011, 11:51 |
навязать все равно, что нибудь придется.. иначе никак.. можно решить путем разрешения списка сигнатур, а можно наоборот аргументы привести к единому стилю, например, список вариантов.. |