powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Знатокам С и asm
16 сообщений из 16, страница 1 из 1
Знатокам С и asm
    #38970207
Stanislav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста что делает данный метод

Код: plaintext
1.
2.
3.
4.
5.
6.
 static av_always_inline uint32_t AV_RB32(const void *p)
{
    uint32_t v;
     __asm__ ("ld.w %0, %1" : "=r"(v) : "m"(*(const uint32_t*)p));
     return v;
}



И как его реализовать на C# ?

Заранее благодарен.
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970215
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фигасе эзотерика.

ты бы еще на форуме по VBA спросил, там-то точно в cи и асме разбираются.
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970224
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav, мощный вопрос :) Если не ошибаюсь, то это ассемблер для Atmel AVR32. На основе быстрого просмотра документации по процессору и директиве __asm__ рискну предположить что функция AV_RB32 возвращает 4 байта из памяти по адресу из данных из указателя p. На C# это будет примерно так:
Код: c#
1.
2.
3.
4.
5.
uint AV_RB32(IntPtr p)
{
    IntPtr p1 = new IntPtr(Marshal.ReadInt32(p));
    return (uint)Marshal.ReadInt32(p1);
}


Вообще C# плохо подходит для подобных задач. Правильнее написать метод на C в неуправляемой DLL и вызывать её через p/invoke.
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970225
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav,

насколько я могу судить, тут в переменную v загружается значение из адреса p.

Примерным эквивалентом на C# будет следующее:
Код: c#
1.
2.
3.
4.
5.
6.
7.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
static uint AV_RB32(object p)
{
    uint v;
    v = (uint)p;
    return v;
}



Использование:
Код: c#
1.
2.
3.
4.
uint x = 5;
object o = x;
uint n = AV_RB32(o);
Console.WriteLine(n);
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970226
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav,

ничего особенного - возвращает UInt32, взятое по адресу переданному параметром

на c# будет иметь смысл при использовании небезопасных указателей
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970227
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav, ни как?
Не стоит даже пытаться портировать в лоб эту библиотеку, особенно в контексте возникшего вопроса...
ffmpeg c# wrapper
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970230
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

недооцениваешь местную публику
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970231
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да уж, удивили :)
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970232
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
буду тут спрашивать про всё. :)
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970236
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyбуду тут спрашивать про всё. :)
Это канал об аниме? (с)
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970316
Stanislav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,petalvik - круто! ) Спасибо большое!
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970487
Alexey2112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Antonariyбуду тут спрашивать про всё. :)
Это канал об аниме? (с)
Мэдхауз и, конкрентно, Yoshiaki Kawajiri]Ёсиаки Кавадзири. Остальное в аниме - мусор (ну, кроме нескольких миядзаковских мультов).
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970514
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislavbazile,petalvik - круто! ) Спасибо большое!

крэкаешь что-то?
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970519
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuhкрэкаешь что-то?патчит KDE (c)
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38970721
Alexey2112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProWinnipuhкрэкаешь что-то?патчит KDE (c)
Скорее ...
...
Рейтинг: 0 / 0
Знатокам С и asm
    #38972191
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@Alexey2112
В C# это будет так (не забудь поставить "птичку" в свойствах проекта "Allow unsafe code"):
Код: c#
1.
2.
3.
4.
unsafe static uint AV_RB32(void* p)
{
    return *((uint*)p);
}
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Знатокам С и asm
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]