Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

LDOPEN(3X)

НАЗВАНИЕ
ldopen, ldaopen - открыть объектный файл обычного формата на чтение

СИНТАКСИС


	#include <stdio.h>

	#include <filehdr.h>

	#include <ldfcn.h>

	

	LDFILE *ldopen (filename, ldptr)

	char *filename;

	LDFILE *ldptr;

	

	LDFILE *ldaopen (filename, oldptr)

	char *filename;

	LDFILE *oldptr;

ОПИСАНИЕ
Функции ldopen и ldclose(3X) обеспечивают унифицированный доступ как к отдельным объектным файлам, так и к объектным файлам, входящим в состав архивов. С помощью этих функций архив объектных файлов может быть обработан так, как если бы он был последовательностью отдельных объектных файлов обычного формата.

Если аргумент ldptr имеет значение NULL, функция ldopen открывает файл filename, размещает и инициализирует структуру LDFILE и возвращает указатель на эту структуру.

Если значение ldptr соответствует открытому файлу и TYPE (ldptr) является магическим числом архивного файла, ldopen инициализирует стуктуру LDFILE для обработки следующего элемента архива filename.

Функции ldopen и ldclose(3X) предназначены для совместной работы. Ldclose возвращает значение FAILURE только в том случае, когда TYPE (ldptr) является магическим числом архива и в архиве еще есть необработанные файлы. В этом единственном случае можно вызывать ldopen с текущим значением ldptr. Во всех других случаях, в частности, когда открывается файл с новым именем, следует вызывать ldopen с аргументом ldptr, равным NULL.

Схема использования ldopen и ldclose(3X) такова:


	/* Для каждого из обрабатываемых файлов */

	     

	ldptr = NULL;

	do {

	  if ((ldptr = ldopen (filename, ldpr)) == NULL) {

	    /* Проверить магическое число */

	    /* Обработать файл */

	  }

	} while (ldclose (ldptr) == FAILURE);

Функция ldaopen служит для повторного открытия объектного файла. Если значение oldptr отлично от NULL, ldaopen заново открывает файл с именем filename, порождает новую структуру LDFILE, копируя из структуры, указанной в oldptr, поля TYPE, OFFSET и HEADER, и возвращает указатель на новую структуру. Старый указатель oldptr и новый указатель могут быть использованы одновременно и независимо для чтения разных частей объектного файла. Например, один из указателей может последовательно продвигаться по информации о настройке ссылок, а другой - по элементам таблицы имен.

Функции ldopen и ldaopen открывают файл на чтение. Обе функции возвращают NULL, если файл filename открыть не удается, или если под структуру LDFILE не хватает памяти. Успешное открытие не гарантирует, что указанный файл является объектным.

При редактировании связей вызывающей программы следует подключить библиотеку программ доступа к объектным файлам libld.a.

СМ. ТАКЖЕ
fopen(3S), ldclose(3X), ldfcn(4).

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...