|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прога с параметрами |
|
Прога с параметрами
|
Пингвин по Киевски Сообщения: 238 |
Профиль | Отправить PM | Цитировать #include <stdio.h>
#include <dlfcn.h> #include <iostream.h> int main(int args, char* argv[]) { void *ext_library; double value=0; double (*powerfunc)(double x); ext_library = dlopen("/root/Pro/libpowers.so",RTLD_LAZY); if (!ext_library) { fprintf(stderr, "dlopen() error: %s/n", dlerror()); return 1; }; powerfunc = dlsym(ext_library, argv[1]); value = 3.0; cout << argv[1] << value << (*powerfunc)(value); dlclose(ext_library); } Вот такая прога при компиляции выбрасывает вот это : [root@localhost Pro]# gcc main.cpp -o main -ldl -lstdc++ main.cpp: In function `int main (int, char **)': main.cpp:15: cannot convert `void *' to `double (*) (double)' in assignment Пожалуйста помогите !!! |
|
Отправлено: 19:11, 16-04-2003 |
Старожил Сообщения: 163
|
Профиль | Отправить PM | Цитировать Цитата:
Цитата:
и еще Цитата:
|
|||
------- Отправлено: 20:31, 16-04-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пингвин по Киевски Сообщения: 238
|
Профиль | Отправить PM | Цитировать А как переписать программу ?
|
Отправлено: 15:44, 06-05-2003 | #3 |
Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать Nigon
Цитата:
powerfunc = (double (*) (double)) dlsym(ext_library, argv[1]); Добавлено: Я бы ещё на нуль проверил. Вдруг такой функции в разделяемой библиотеке нет... И еще надо быть уверенным, что, если функция есть, она принимает один параметр заданного типа и возвращает данные типа, который нужен. Добавлено: Допустим в /root/Pro/libpowers.so есть три функции: double first(double x); int second(double x); double third(double x, double y); Тогда myprog first - сработает. myprog second и myprog third - рухнут, second вернёт не то, что мы ждем (да и механизм возврата значений типов int и double разный), а third сама ждёт, что ей два параметра передадут, а мы только один пытаемся подсунуть (проблемы со стеком). Ну, а myprog fourth - вообще облом, ну нету там такой функции, а мы её вызываем... |
|
------- Отправлено: 02:55, 07-05-2003 | #4 |
Пингвин по Киевски Сообщения: 238
|
Профиль | Отправить PM | Цитировать shurikan
Я вставил (double (*) (double)) --- НЕ ВЫШЛО Теперь пишет следуюшие: [root@localhost les8]# gcc main.cpp -o main -ldl main.cpp: In function `int main (int, char **)': main.cpp:9: cannot convert `double (*) (double)' to `void *' in assignment main.cpp:15: cannot convert `void *' to `double (*) (double)' in assignment И еще, вот содержание библиотеки libpowers.so: double power2(double x) { return x*x; }; double power3(double x) { return x*x*x; }; double power4(double x) { return power2(x)*power2(x); }; |
|
Отправлено: 19:29, 07-05-2003 | #5 |
Пингвин по Киевски Сообщения: 238
|
Профиль | Отправить PM | Цитировать Ну что ? Неужели нихто не знает ?
|
Отправлено: 14:50, 18-05-2003 | #6 |
Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать Nigon
Извини, долго не было на месте, командировка, млин... Цитата:
Добавлено: Цитата:
|
||
------- Отправлено: 16:00, 19-05-2003 | #7 |
Пингвин по Киевски Сообщения: 238
|
Профиль | Отправить PM | Цитировать shurikan
УРААААААААААААААААААААА !!! ПОШЛО !!! * БОЛЬШОЕ ТЕ СИШНОЕ И ЛИНУКСОИДНОЕ СПАСИБО * |
Отправлено: 18:22, 19-05-2003 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Вызов Run() с параметрами | evg64 | AutoIt | 10 | 15-05-2010 19:52 | |
HotKeySet и вызов функции с параметрами | r35p3ct | AutoIt | 4 | 24-09-2009 16:28 | |
Разное - моя первая прога прога, написаная на делфи | KingMaker | Программирование и базы данных | 9 | 12-01-2009 02:12 | |
Проблема с параметрами видео | slonikdva | Непонятные проблемы с Железом | 4 | 24-03-2008 14:24 | |
Прога для чтения 3gp видеофайлов и прога для перекодирования mp3 в wav | Myasnikov | Мобильные ОС, смартфоны и планшеты | 8 | 12-10-2005 15:34 |
|