Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отследить изменение памяти сторонним процессом http://www.cyberforum.ru/cpp/thread1241864.html
Есть основное приложение1. Есть приложение2, которое считывает и изменяет его память. Надо отследить адреса, действие(чтение или запись), значение до и после действия. Куда копать?
C++ Adobe PDF Library (APDFL) - поместить в формируемый документ картину формата PNG Всем привет! Данная тема, возможно, не вполне подходит для данного раздела, поскольку вопрос, преимущественно имеет отношение к API Adobe PDF, конкретнее, к плюсовому API. Я пишу с... http://www.cyberforum.ru/cpp/thread1241863.html
Электронная подпись+работа с сертификатами C++
Здравствуйте!дали задание,саму суть понял,не могу разобраться,как начать писать программу.помогите кто чем может. Вот само задание: Разработать приложение - утилиту командной строки, или с...
Освобождение динамически созданных переменных (2-ого уровня) C++
И так, продолжу старую тему про динамику. На этот раз есть вот что: #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> using namespace std;
C++ Как правильно собрать ICU для g++ под Windows? http://www.cyberforum.ru/cpp/thread1238301.html
Не получается собрать ICU для компилятора g++ 4.8.2. Делаю через MSYS. Мои команды:cd D:/Temp/icu/source ./runConfigureICU MinGW --prefix=D:/Temp/dist --enable-static --disable-shared Всегда...
C++ Как из Wav файла получить комплексные значения для быстрого преобразования Фурье? Пишу программу для вывода спектра Wav файла Беру данные из Wav файла, прочел шапку, дошел до самих значений. Как понимаю это амплитудные значения. Дабы получить спектр, нужно использовать... подробнее

Показать сообщение отдельно
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,552
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 скинула то что надо, но кол-во прототипов будет ох как много, это очень затратно будет для программы мне кажется)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru