Ошибка ассемблера Linux “невозможное ограничение в ‘asm’”

При использовании TortoiseSVN, можно просто щелкнуть правой кнопкой в корневой папке рабочей копии и нажать Export... Это будет работать даже при отмене фиксации изменений.

Аналогично, можно просто сделать Экспорт из репозитория, и он не создаст ни одной из .svn папок.

Другой простой подход должен просто удалить все .svn папки, как ранее упомянуто.

10
задан starblue 17 October 2009 в 08:01
поделиться

2 ответа

__asm__ __volatile__ ("addl %%ebx,%%eax" : "=a"(foo) : "a"(foo), "b"(bar));

вроде работает. Я считаю, что синтаксис ограничений регистров в какой-то момент изменился, но он не очень хорошо документирован. Мне легче писать сырую сборку и избегать хлопот.

9
ответ дан 3 December 2019 в 23:13
поделиться

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

  __asm__ __volatile__ (
        "addl %%ebx,%%eax; \
         addl %%eax, %%eax;" 
        : "=a"(foo) 
        : "a"(foo), "b"(bar)
    );

'\' должен быть добавлен для компилятора, чтобы принять многослойную строку (инструкции).

0
ответ дан 3 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: