Меню
Меню
    Меню

    Появление библиотек на языке программирования C++, взаимодействующих с рабочим столом Fly в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)

    Дата создания информации: 25.01.2026

    Частью чего является?

    Появление библиотек на языке программирования C++ (далее – C++), взаимодействующих с рабочим столом Fly в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) (далее – Astra Linux SE 1.7), является частью появления компьютерных программ для Astra Linux SE 1.7.

    Из чего состоит?

    Особенностью появления библиотек на C++, взаимодействующих с рабочим столом Fly в Astra Linux SE 1.7, является их компиляция с установленным для параметра -fvisibility значением hidden.

    Из информации, представленной на странице «gcc(1) — Linux manual page» сайта man7.org, следует, что использовать в других компьютерных программах символы (типы, переменные, функции) из библиотеки в таком случае будет невозможно, если только такая возможность для этих символов не определена явно.

    Указанная ситуация возникает из-за необходимости подключения файла fly.prf для появления библиотек на C++, взаимодействующих с рабочим столом Fly в Astra Linux SE 1.7.

    Файл fly.prf расположен в каталоге /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features в Astra Linux SE 1.7. Подключить этот файл можно путём добавления значения fly в переменную CONFIG в pro-файле для появления библиотеки.

    CONFIG += fly
    

    В файле fly.prf в параметры для появления библиотек в переменную CONFIG добавляется значение hide_symbols.

    Добавление в переменную CONFIG значения hide_symbols для появления библиотек в файле fly.prf

    В описании значений переменной CONFIG в разделе «VARIABLES» документации на Qt 5.15 на сайте doc.qt.io написано, что это приводит к компиляции с установленным для параметра -fvisibilty значением hidden.

    Описание значения hide_symbols переменной CONFIG в документации на Qt 5.15 на сайте doc.qt.io

    Для определения возможности использования символов из библиотеки в других компьютерных программах можно использовать специальные выражения языков программирования C и C++ – атрибуты символов.

    В частности, для функций – это атрибут visibilty. Описание этого атрибута представлено в разделе «6.30 Declaring Attributes of Functions» документации на компиляторы GNU на сайте gcc.gnu.org.

    Например, для определения возможности использования в других компьютерных программах функции show из библиотеки при объявлении этой функции можно использовать следующее выражение.

    __attribute__ ((visibility ("default"))) void show();
    

    Если функций, для которых необходимо определить возможность использования в других компьютерных программах, в библиотеке несколько, то можно определить более короткую символическую константу и использовать её при объявлении этих функций.

    /**
     * Определение более короткой символической константы для определения
     * возможности использования функции в других компьютерных программах
     */
    #define PUBLIC_FUNCTION __attribute__ ((visibility ("default")))
    
    /**
     * Использование символической константы для определения возможности
     * использования в других компьютерных программах функции show
     */
    PUBLIC_FUNCTION void show();
    
    /**
     * Использование символической константы для определения возможности
     * использования в других компьютерных программах функции hide
     */
    PUBLIC_FUNCTION void hide();
    

    Как ещё представлено?

    Другие представления появления библиотек на C++, взаимодействующих с рабочим столом Fly в Astra Linux SE 1.7, представлены в следующей таблице.

    Представление
    1 Статья «Появление библиотек на C++, взаимодействующих с рабочим столом Fly в Astra Linux SE 1.7» в канале «Аделантер» в Дзене

    Как обсудить?

    Обсудить появление библиотек на C++, взаимодействующих с рабочим столом Fly в Astra Linux SE 1.7, можно с использованием способов, представленных в следующей таблице.

    Способ
    1 Использование комментариев к сообщению для обсуждения появления библиотек на C++, взаимодействующих с рабочим столом Fly в Astra Linux SE 1.7, в канале «Аделантер» в Telegram
    2 Использование комментариев к статье «Появление библиотек на C++, взаимодействующих с рабочим столом Fly в Astra Linux SE 1.7» в канале «Аделантер» в Дзене
    Меню
    Меню
    На экране представлено веб-приложение «Аделантер».
    Скрыть