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

    Определение названия основной функции компьютерной программы с MULTEX-ARM

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

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

    Определение названия основной функции компьютерной программы с MULTEX-ARM является частью создания компьютерных программ с MULTEX-ARM.

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

    Общие положения

    Компьютерные программы c MULTEX-ARM создаются на языке программирования Си и языке ассемблера.

    Основную функциию (точку входа) компьютерной программы с MULTEX-ARM обычно создают на Си.

    При использовании Си основную функцию часто называют main.

    Смотрите, например, статью «main Function in C» на сайте GeeksforGeeks.

    Но можно использовать и другое название основной функции.

    Для этого необходимо определить название основной функции и указать его как значение параметра -e (--entry) при вызове компоновщика (линкера) ld, который используется для создания компьютерных программ, представленных на Си и языке ассемблера.

    Смотрите, например, ответ на вопрос «How to change entry point of C program with gcc?» на сайте «stack overflow».

    Особенности MULTEX-ARM

    Определение названия основной функции компьютерной программы с MULTEX-ARM выполняется в соответствии с общими положениям, но с особенностями.

    Компьютерная программа с MULTEX-ARM содержит в себе MULTEX-ARM.

    Смотрите, например, статью «Сборка проекта» в документации на MULTEX-ARM.

    При запуске компьютерной программы с MULTEX-ARM сначала запускается MULTEX-ARM, а уже из неё вызывается основная функция компьютерной программы.

    Вызов основной функции выполняется по названию, определённому в файле config.h как значение символической константы USER_PROC.

    #define USER_PROC <Название основной функции компьютерной программы>
    

    Файл config.h представлен в статье «Сборка проекта» в документации на MULTEX-ARM.

    Детали

    В деталях определение названия основной функции компьютерной программы с MULTEX-ARM выглядит следующим образом.

    В файле multex.mk, который содержится в базовом наборе библиотек MULTEX-ARM, в целях сборки make_debug и make_release для параметра -e (--entry) компоновщика ld определено значение _start.

    Базовый набор библиотек MULTEX-ARM можно скачать по ссылке, представленной в статье «Сборка проекта» в документации на MULTEX-ARM.

    Особенностью определения значения параметра -e (--entry) в файле multex.mk является то, что название параметра указано с использованием одного дефиса: «-entry _start».

    Дело в том, что для указания названия параметра, состоящего из нескольких символов, можно использовать как один, так и два дефиса.

    Смотрите, например, представление компоновщика ld на сайте man7.org.

    Способ указания названия параметра, состоящего из нескольких символов, в представлении компоновщика ld на сайте man7.org

    Значение _start параметра -e (--entry) – это название функции, в которой запускается MULTEX-ARM.

    Функция с названием _start представлена в файле startup.s, который содержится в базовом наборе библиотек MULTEX-ARM.

    В функции _start вызывается функция start_ccode.

    Функция start_ccode представлена в файле cstart.c, который содержится в базовом наборе библиотек MULTEX-ARM.

    В функции start_ccode вызывается функция kernelInit.

    Назначение функции kernelInit представлено в файле tasklib.h, который содержится в базовом наборе библиотек MULTEX-ARM.

    Значение параметра rootRtn функции kernelInit – это название функции, которая используется для вызова из MULTEX-ARM основной функции компьютерной программы.

    В файле cstart.c для параметра rootRtn определено значение usr_init.

    Функция usr_init представлена в файле cstart.c.

    В функции usr_init вызывается основная функция компьютерной программы.

    Вызов основной функции компьютерной программы выполняется по значению символической константы USER_PROC, определённому в файле config.h.

    Таким образом, определить название основной функции компьютерной программы с MULTEX-ARM можно путём определения значения символической константы USER_PROC в файле config.h.

    Меню
    Меню
    На экране представлено веб-приложение «Аделантер».
    Скрыть