Возможно ли использовать стандартные функции libc в GNU-EFI с Visual Studio?

Я использую gnu-efi в качестве проекта Visual Studio 2019. Моя программа UEFI работает, как и ожидалось, на реальном оборудовании. На следующем этапе мне нужны функции C, такие как pow(...);. Естественно, при работе с efi все эти возможности отключаются. Когда я напрямую включаю ‹math.h›, я получаю неразрешенную внешнюю... ошибку. Если я запускаю неограниченный проект, который успешно строится.

Я спросил, и кто-то посоветовал скачать EDK2 libc, но я не знаю, как использовать его в моем проекте и работает ли он с GNU-EFI. Я понятия не имею, что делать, чтобы использовать функции C. Я буду очень рад, если кто-нибудь скажет мне, что делать.


person Gomi Odabaşıoğlu    schedule 05.12.2020    source источник
comment
Если вы используете edk2, то это будет вместо gnuefi, а не в стороне. На вашем месте я бы перефразировал вопрос, потому что вы хотите использовать не функции C, а стандартные функции libc. Я не могу ответить на ваш вопрос, за исключением того, что, имхо, если вам нужны только несколько функций, таких как pow, в вашей программе efi, вам лучше воссоздать ее самостоятельно, чем включать полную библиотеку.   -  person Stéphane Veyret    schedule 05.12.2020
comment
UEFI не имеет стандартной библиотеки времени выполнения C, поэтому вы не можете напрямую использовать такие функции C, как math.h. Если вам нужно только простое подмножество, такое как pow, я думаю, что лучше реализовать его самостоятельно.   -  person KagurazakaKotori    schedule 06.12.2020
comment
@KagurazakaKotori Да, в конце концов я так и сделал. Кто-то посоветовал мне использовать edk2-libc на странице gnu-efi github, но я не знаю, как это возможно.   -  person Gomi Odabaşıoğlu    schedule 06.12.2020


Ответы (1)


Вот libc, перенесенная в UEFI.

person Ali Shirvani    schedule 24.12.2020