PVOID - Статьи по теме Другое

Больше примеров

 Ниже приведены примеры всех трех подходов. (статические, общие и динамически загружаеые библиотеки). Файл libhello.c это обычная библиотека с libhello.h в качестве заголовка. Файл demo_use.c просто вызывает библиотеку. За ними следуют комментированные скрипты (script_static и scrypt_dynamic), показывая, как использовать библиотеку в качестве статической и общей библиотеки. Далее следует demo_dynamic.c и script_dynamic, которые показывают как использовать общие библиотеки в качестве динамически загружаемых библиотек.

Разное

 Команда nm


  Команда nm может сообщать список символов указанной библиотеки. Она работает как со статическими, так и с общими библиотеками. Для указанной библиотеки nm(1) может перечислить определенные символы, значение каждого символа и его тип. Также она может указать, где символ был определен в исходном коде (по имени файла и номеру строки), если эта информация доступна в библиотеке (смотрите опцию -l).

Динамически загружаемые (DL) библиотеки

 Динамически загружаемые библиотеки — это библиотеки, которые загружаются не при запуске программы. Они особенно полезны для реализации плагинов или модулей, потому что они позволяют выполнить загрузку плагина тогда, когда он действительно нужен. Например, система подключаемых модулей аутентификации (PAM) использует DL библиотеки, чтобы позволить администраторам настраивать и перенастраивать аутенфикацию. Они также полезны для реализации интерпретаторов, которым время от времени требуется компилировать свой код в машинный код, а затем использовать скомпилированную версию кода с целью повышения эффективности, и все это без остановки. Например, такой подход может быть полезен для реализации JIT-компиляторов или многопользовательского мира (MUD).

Статические библиотеки

 Статические библиотеки — это просто набор обычных объектных файлов; по соглашению, имена статических библиотек завершаются суффиксом «.a». Этот набор создается с помощью программы ar (архиватор). Статические библиотеки используются не так часто, как раньше, из-за преимуществ общих библиотек (описанных ниже). Тем не менее, они иногда создаются, они появились первыми исторически, и их проще объяснить.

Руководство по разработке библиотек

 В этом руководстве для программистов обсуждается, как создавать и использовать библиотеки в Linux. Это включает в себя статические библиотеки, общие библиотеки и динамически загружаемые библиотеки.

i-7188XAD

Работа с дисплеем в i-7188XAD

Контроллер ICP DAS i-7188XAD позволяет отображать необходимую информацию двумя способами: можно моргать светодиодом, что весьма кстати, когда необходимо отобразить, например, прием или передачу данных, а также имеется возможность индикации  при помощи дисплея из пяти сегментов.

Класс обработки DCON-запросов.

DCON-запросы представляют собой ANSI-строки с терминатором \r(символ возврата каретки - 0x0D), посылаемые модулям ввода-вывода, которые, в свою очередь возвращают ответ в виде ANSI-строки. Пример запроса на модуль ICP DAS i-7052 выглядит следующим образом:

@04\r ,где 04 - адрес модуля - число от 0x00 до 0xFF. Корректный ответ выглядит так:

>00FF, где 00FF - состояние входов, а символ ">" в большинстве запросов( не во всех!) обозначает то, что запрос был верным, и пришел корректный ответ.

Строки для TC++

При виде заголовка возможно сразу появился вопрос: зачем писать очередной класс строки, когда таковых написано достаточно, в стандартной библиотеке есть и вряд ли можно сделать лучше?

Очень краткая предыстория: велась разработка под ПЛК ICP DAS I-7188XAD и писать код приходилось на Turbo C++ 1.01. Разработка возможна и на более поздних версиях компилятора до 3.1 включительно, а также на MS VC++ 5, но все же код, сгенерированный этим компилятором, работает наиболее стабильно. Turbo C++, конечно, не Си, однако нет  шаблонов и, соответственно, STL,  а также многих других приятных современных плюшек. Поэтому появилась необходимость создания класса для хранения строк, на основе которого реализованы также класс обработки DCON-запросов и класс для работы с дисплеем контроллера.

Векторная карта

Шейпфайлы ESRI

Однажды курсе на первом при обработке геоданных мне приходилось иметь дело с форматом файла *.shp, который называют шейпфайлом. Файл *.shp - это только один из трех необходимых компонентов шейпфайла, потому что каждой геометрической фигуре соответствует также запись в таблице DBASE III (*.dbf) и запись в индексном файле с расширением *.shx, хранящий смещения записей в файле *.shp. Все файлы должны находиться в одном каталоге и иметь одно имя.

Общие библиотеки

 Общие библиотеки — это библиотеки, которые загружаются программами при старте. Когда общая библиотека установлена правильно, все программы, которые запускаются впоследствии, автоматически используют новую общую библиотеку. На самом деле, они намного более гибкие и сложные, потому что подход, используемый Linux, позволяет вам: