Форум программистов, компьютерный форум CyberForum.ru

Альтернативный вызов функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя http://www.cyberforum.ru/cpp/thread1242580.html
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++
C++ Разделить выпуклый многоугольник на 4 равные части двумя взаимно перпендикулярными прямыми Почти то же, что и тут: http://www.cyberforum.ru/java/thread1022760.html, но хочется решить на C++. А именно: Есть некоторый выпуклый многоугольник, который необходимо разделить на 4 равные части двумя взаимно перпендикулярными прямыми. Входные данные: количество вершин и их координаты в порядке обхода. Координаты не больше 10000, самих координат не больше 1500. Координаты все целочисленные.... http://www.cyberforum.ru/cpp/thread1242320.html
C++ Отследить изменение памяти сторонним процессом
Есть основное приложение1. Есть приложение2, которое считывает и изменяет его память. Надо отследить адреса, действие(чтение или запись), значение до и после действия. Куда копать?
Adobe PDF Library (APDFL) - поместить в формируемый документ картину формата PNG C++
Всем привет! Данная тема, возможно, не вполне подходит для данного раздела, поскольку вопрос, преимущественно имеет отношение к API Adobe PDF, конкретнее, к плюсовому API. Я пишу с использованием этой библиотеки от datalogics некоторое API для формирования PDF-документов. Сбился с ног, пытаясь запихать в формируемый документ (программно, разумеется) картину формата PNG. С JPEG проблем нет,...
C++ Электронная подпись+работа с сертификатами http://www.cyberforum.ru/cpp/thread1241481.html
Здравствуйте!дали задание,саму суть понял,не могу разобраться,как начать писать программу.помогите кто чем может. Вот само задание: Разработать приложение - утилиту командной строки, или с графической оболочкой (на выбор). Утилита должна решать следующие задачи: 1. По серийному номеру находить нужный сертификат из хранилища MY 2. Выводить на экран информацию о владельце, сроке действия, и об...
C++ Освобождение динамически созданных переменных (2-ого уровня) И так, продолжу старую тему про динамику. На этот раз есть вот что: #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> using namespace std; подробнее

Показать сообщение отдельно
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,537
15.08.2014, 18:36  [ТС]     Альтернативный вызов функции
Цитата Сообщение от DrOffset Посмотреть сообщение
Лучше озвучь задачу, которую решаешь
Динамическое объявление функции. (у меня постоянно в голове подобные задачи, уже спать не могу, кошмары константы мучают)
Надо исходя из предыдущей темы : Освобождение динамически созданных переменных (2-ого уровня)
сделать теперь вызов функций стандартных, описывать их все я не хочу, да и это глупо имхо, т.к. этих стандартных функций тьма.
Я думал что можно исходя из названия функции взять её адрес, однако как я написал выше - этого сделать (вроде как) нельзя без определения аргументов и возвратного значения, а если я их буду писать - то это придётся на каждую функцию писать прототип.
Если бы можно было прототип динамически объявлять, то я бы сделал типа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int MakeFunction(&v)
{
int err = GetArguments(char *name);//название функции
/* Создам файл в него скопирую данные из header файлов, с помощью нескольких парсинговых манипуляций найду название, отсюда возьму же кол-во аргументов, их типы и возвращяемое значение, заполню динамическую структуру согласно этим значениям, [0] переменную оставлю под return, укажу лишь тип*/
/*тут хотел сделать через new[] задание тайпдефа, но т.к. нельзя, то выпью яда*/
typedef MyFunc = new (*Make_func) [err];, где от 0 до err были бы типы согласно v[i].t
//typedef MyFunc (*Make_func) (type, type);
/*и типа провожу манипуляции для вызова функции, предварительно выполнив загрузку библиотеки и получив адрес функции, как это показано в начале 1-ого поста в этой теме*/
HMODULE hMod = LoadLibrary ("Kernel32.dll");
Make_func pOpen = GetProcAddress (hMod, "strcmp");//например strcmp функцию
MyFunc st = pOpen (0, &hDev);
FreeLibrary (hMod);
}
Примерно конешно написал.

Добавлено через 2 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
Можно загрузить через LoadLibrary user32.dll и вызвать нужную функцию, зная ее прототип.
Только что значит "зная её прототип", это же значит что надо для каждой функции прототип писать. (нет ну можно конешно, даже можно автоматически это сделать, чтоб тупо парсингом в файл txt скинула то что надо, но кол-во прототипов будет ох как много, это очень затратно будет для программы мне кажется)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru