Какая встроенная функция в ANSI C обеспечивает вызов DLL библиотек?

Eolt
Дата: 12.11.2014 13:47:58
что то никак не могу найти ее описание
Dimitry Sibiryakov
Дата: 12.11.2014 14:02:09

Функции из DLL так же как любые другие просто декларируются и вызываются без
дополнительных телодвижений. Достаточно эту DLL как и любую другую библиотеку указать линкеру.

Posted via ActualForum NNTP Server 1.5

Eolt
Дата: 12.11.2014 14:06:19
Dimitry Sibiryakov
Функции из DLL так же как любые другие просто декларируются и вызываются без
дополнительных телодвижений. Достаточно эту DLL как и любую другую библиотеку указать линкеру.


Я использую Tiny C, там нет линкера.
Dimitry Sibiryakov
Дата: 12.11.2014 14:15:43

Eolt
Я использую Tiny C, там нет линкера.

А исполняемые модули он святым духом создаёт или это вообще не компилятор, а какой-нибудь
паршивый интерпретатор?..

Posted via ActualForum NNTP Server 1.5

Eolt
Дата: 12.11.2014 14:26:08
Исполняемые модули создает, в режиме интерпретатора тоже работает. Отдельного линкера нет.
Вызывать DLL можно явно через LoadLibrary, но как вызывается сама LoadLibrary? мне непонятно.
NekZ
Дата: 12.11.2014 14:28:11
Dimitry Sibiryakov,

ЕМНИП, он может служить в качестве интерпретатора.
Leonid Kudryavtsev
Дата: 12.11.2014 14:33:18
Eolt
Я использую Tiny C, там нет линкера.

Из доки http://bellard.org/tcc/tcc-doc.html:

`tcc -o myprog a.o b.o'
link `a.o' and `b.o' together and generate the executable `myprog'.
`tcc -c a.c'
Compile `a.c' and generate object file `a.o'.

Как минимум линкер есть, просто Вы не умеете его готовить.
Leonid Kudryavtsev
Дата: 12.11.2014 14:36:28
Dimitry Sibiryakov
...Достаточно эту DLL как и любую другую библиотеку указать линкеру.

Ну раньше делали: DLL -> библиотека импорта .LIB -> подключали к проекту

Проблема была, что формат .LIB файлов у MS VC и например Borland отличались

Что нужно делать с TinyC и что ему скармливать х.з. Не работал
mayton
Дата: 12.11.2014 14:39:52
Там наверное два-в-одном.

http://bellard.org/tcc/tcc-doc.html
`-Ldir'
    Specify an additional static library path for the `-l' option. The default library paths are `/usr/local/lib', `/usr/lib' and `/lib'. 
`-lxxx'
    Link your program with dynamic library libxxx.so or static library libxxx.a. The library is searched in the paths specified by the `-L' option. 
`-shared'
    Generate a shared library instead of an executable (`-o' option must also be given). 
`-static'
    Generate a statically linked executable (default is a shared linked executable) (`-o' option must also be given). 
Leonid Kudryavtsev
Дата: 12.11.2014 14:40:15
Похоже как Вы и говорили, просто DLL'ку. Но дока по Linux версии, т.ч. конкретно с DLL не очень понятно

Linker options:
`-Ldir'
Specify an additional static library path for the `-l' option. The default library paths are `/usr/local/lib', `/usr/lib' and `/lib'.
`-lxxx'
Link your program with dynamic library libxxx.so or static library libxxx.a. The library is searched in the paths specified by the `-L' option.