Совместно используемые библиотеки в C под Linux для начинающих. (продолжение)
Автор: LogRus
Иногда требуется загрудить какую нибуть библиотеку я вно не компануя её. Например страшное слово плагин. Для этих целей у нас есть dlopen, dlclose, dlsym и dlerror объявленны в dlfcn.h, компилируется с флагом -ldl.
Функция dlopen открывает файл filename с флагами flag. Вернее откравает она его в том случае, если он еще небыл кем-то открыт в этом случае она увеличивет счетчик ссылок возврашает дискриптор библиотеки. Путь к библиотеки можно не указывать, тогда бибилиотека ищется . dlclose совершает обратную работу уменьшает счетчик и закрывает библиотеку, если её больше не использует.
Функция dlsys возврашает указатель на функцию или переменную с именем symbol для библиотеки Handle.
Функция dlerror возвращает струказатель на строку с описанием ошибки.
--------------------------------------------------------------------
Вторая статья:
Советы по Windows (часть 5)
Автор: Гром
Сегодня я познакомлю вас с выводом bitmap на экран.
В WinAPI место куда выводится графика внутри окна называется device context (далее контекст).
Вначале создадим приложение воспользовавшись Wizard-ом и выберем вариант Win32 application. Внутри следующего шага выберем Typical Hello Word Application.
Результатом будет один .cpp файл называемый по имени программы – у меня test222.cpp.
Во вкладке Class View можно видеть список функций. Одна из них WndProc – как раньше писалось, занимается обработкой сообщений, приходящих к программе (окну).
Посмотрим на код отвечающий за обработку WM_PAINT.
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
EndPaint(hWnd, &ps);
break;
Как видите для рисования на окне сначала получаем контекст окна hdc, затем DrawText рисует в окне заданный ранее текст.
Уберем строчки которые нам будут не нужны:
// TODO: Add any drawing code here...
RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
Перейдем в папку ресурсов – Resource View и там создадим Bitmap заготовку. Для этого выберем пункт Insert Bitmap после добавления появится квадратик пустой картинки – я ее закрасил зеленым цветом и ничего больше не менял – для нашего теста вполне подойдет.
Далее создадим не просто программку шлепающую на экран картинку статичеси а попробуем до конца поняв систему контекстов, создать бегающую по экрану картинку за курсором мышки…
Кстати, первая статья появилась сегодня утром и вы, уважаемые читатели, могли ее прочесть раньше.
Я к тому, что обновления сайта делаются уже все чаще и чаще самими авторами, я же всего собираю имеющиеся обновления и выпускаю рассылку.
Само собой, что моя статья не последняя а первая в ряду тех, которые я буду делать в освободившееся время, а вы можете смотреть обновления прямо здесь http://club.shelek.com/ не дожидаясь рассылки, если хотите свеженького пораньше.