Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
Скорее всего вопрос уже не раз обсуждался поэтому прошу прощения заранее но в виду неработоспособности сайта вплане поиска , всетаки решаюсь его задать. Проблема в общем-то в следующем: Имеется dll ф-я откомпилированная на CBuilder 6 со следующем исходным кодом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Пытаюсь обьявить ф-ю в Постгрессе: Код: plaintext 1. 2. 3. Выходит ошибка: Errore could not load library C:/Program Files/PostgreSQL/8.0/lib/1.dll Хотя естественно именно там она и лежит. Заранее благодарен за любой ответ ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2005, 14:07 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
Patriot...Имеется dll ф-я откомпилированная на CBuilder 6 со следующем исходным кодом....... Не знаю чем смогу помочь...но то, что знаю... 1) необходимо проверить ссылки получаемой дэлеле на другие модули. По первости желательно всё перенести прям в подкоталог откель грузиться экзэшник (путь по умолчанию). путь по которому делаеться загрузка вашей дэлеле, по нему (лично мне) не удалось заставить подгружать другие модули. 2) экспортируемое имя... проверить без подчёркивания ли оно обьявляеться... Либо подправить деклорацию, либо по старинке - создать дэф файл и т.д... 3) не знаю насколько помогу, но обьявляю в сишниках таким макаром... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 4) можно добавить, что явно указываю путь загрузки - но то не обязаловка, как я понимаю (если модуль в стандартных либах постгресса)... удачи Вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2005, 16:44 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
и ышо.... типы передаваемых/возвращаемых значений на данной фазе побоку...постгресс именно не находит связки "имя файла-имя функции" либо то, что "не пускает" - ссылки на другие библиотеки. (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2005, 16:48 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
kolobok0 По первости желательно всё перенести прям в подкоталог откель грузиться экзэшник (путь по умолчанию). путь по которому делаеться загрузка вашей дэлеле, по нему (лично мне) не удалось заставить подгружать другие модули. Экзэшника то как такогового нет ... подключаю также доп.модули например tsearch2 похоже тут дело в длл-ке ... Не пойму вот только что ... Интересно как вообще в винде кто их компилит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 08:41 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
могу ошибаться, но dll - ки нужно компилировать с правильными ключами. http://www.postgresql.org/docs/8.0/interactive/xfunc-c.html 31.9.6. Compiling and Linking Dynamically-Loaded Functions или Вы так и делали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 12:17 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
PatriotЭкзэшника то как такогового нет ... имелось ввиду экзешник самого постгресса. он подымаеться на каждый коннект отдельно. Вот в его адрессное пространство и грузиться весь Ваш (наш - не важно) хлам под названием дэлеле... удачи Вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 17:41 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
mefмогу ошибаться, но dll - ки нужно компилировать с правильными ключами. http://www.postgresql.org/docs/8.0/interactive/xfunc-c.html 31.9.6. Compiling and Linking Dynamically-Loaded Functions или Вы так и делали? Да так и делал ... Наверное не так много программистов работает с постгрессом под виндой :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 09:19 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
а слэш в другую сторону ставить не пробовали, и путь абсолютный указать попроще C:\1\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 13:56 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
Все попробовал ... тут все-таки дело в самой длл-ке ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 14:25 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
ну, чудес не бывает :)) вот в офиц. руководстве доброжелатель коммент оставил, может поможет .... 5) Write the CREATE FUNCTION with double backslashes (\)for the dir separators. Postgres needs them escaped. CREATE OR REPLACE FUNCTION add_one(INTEGER) RETURNS INTEGER LANGUAGE C STABLE RETURNS NULL ON NULL INPUT AS 'C:\PGSQL\PGEXTEND\ADDONE.dll', 'add_one'; NOTES: These are pitfalls. 1) Make sure Visual C++ made the DllMain() function for you. 2) Make sure every exported SQL function in in a C-linkage block: extern "C" { ... }; 3) CREATE FUNCTION does not allow spaces in the DLLs path. Consider adding a special path to store postgres DLLs, with all uppercase and no whitespace. ... сам я под линуксам писал/подключал - вроде не было проблем. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 17:37 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
PatriotВсе попробовал ... тут все-таки дело в самой длл-ке ... имя дэлеле полное ? 1.dll 1) попробуйте натравить на неё Depends Прям в подкоталоге либов... Она Вам все зависимые покажет и расскажет, могёт ли загрузить али нет. 2) Возможно сделать так... взять компильнуть экзе проэкт (который ссылаеться на Вашу дэлеле). подложить в подкоталог либ...позвать... посмотреть встаёт либо нет... да и ещё... есть соображение, что дополнительные дэлеле (если есть неявная загрузка - см. ключи компиляции на предмет юзанья библиотек) НЕ будут грузиться из подкоталога либ... Как проверка - перенеси их в подкоталог, где находиться сам экзешник постгресса. бин, если по умолчанию... загрузка всех дэлеле на которые есть неявные ссылки, производиться при регистрации экстендед функции. с уважением (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 19:56 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
Обязательно попробую вышеизложенное ... спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 11:19 |
|
||
|
Использование С в ХП
|
|||
|---|---|---|---|
|
#18+
Была неправильно написана dll-ка ... вот ведь парадокс ... скомпилировл туже либу под дельфой ... естественно переписав на Паскаль и все заработало ... Всем спасибо вопрос снимается ... Надо компилить dll написанные на С на Visual C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33211063&tid=2007064]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
127ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 270ms |
| total: | 478ms |

| 0 / 0 |
