Вопрос

Я использую функцию memcpy () с помощью компилятора ARM EABI.Как я вижу в файле, функция определяется как

extern _ARMABI void *memcpy(void * __restrict /*s1*/,
                    const void * __restrict /*s2*/, size_t /*n*/)
                    __attribute__((__nonnull__(1,2)));
   /*
    * copies n characters from the object pointed to by s2 into the object
    * pointed to by s1. If copying takes place between objects that overlap,
    * the behaviour is undefined.
    * Returns: the value of s1.
    */
.

Пожалуйста, прости мое невежество; как я не очень знаком с C и указателями в целом. Должен ли кто-то, пожалуйста, подробно опишите меня, что это означает под Const void * и делает эти синтаксисы (например, __attribute и т. Д.)Функция?

Спасибо!

Моя реализация:

char mycharacter;
mycharacter = ROM_UARTCharGetNonBlocking(UART0_BASE);
memcpy(SRAM_BASE, mycharacter, size_t (mycharacter);
.

Это было полезно?

Решение

Целая точка имения стандартной библиотеки заключается в том, что вам не нужно понимать реализацию для использования функции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top