Я использую библиотеку Roguewave для подключения к базе данных Sybase из C ++. Я понимаю, что объект базы данных построен как:
RWDBManager::database("accessLib", "", "", "", "", "XA=lrm_name");
http://www2.roguewave.com/support/docs/sourcepro/edition8/html/dbxaug/5-3.html говорит
All arguments are of type RWCString. Note that establishing an XA connection to the Sybase CT database requires only two of the six database() arguments, as described here:
accessLib
The argument for the first parameter is the same as that which you provide for the non-XA connection.
For static libraries, supply the string "SYBASE_CT".
For shared libraries, supply the name of your shared access library, for example "libctl420d.so".
Я не понимаю:
В коде я привык видеть, что когда нам нужно использовать что-то, предоставленное в библиотеке, включать заголовки этих библиотек, использовать классы / функции из этих библиотек, а затем при компиляции проекта использовать эту библиотеку в списке LDLIBRARIES. Зачем базе данных функции здесь нужно ИМЯ библиотеки? В чем преимущества этого подхода по сравнению с #include.
Это какая-то стандартная техника? Обычно, где это используется?
Я работал над проектами, в которых использовались общие библиотеки, поэтому связывание статически не выполнялось, но я не сталкивался с такой вещью.
Спасибо