Что делает @ в сборке? - PullRequest
0 голосов
/ 23 апреля 2011
call dword ptr __imp__VirtualProtect@16

Что именно делает @?Это просто часть названия функции или?Я видел это в разных местах, и мне интересно, что это означает?

Ответы [ 3 ]

1 голос
/ 23 апреля 2011

Это часть имени символа.Имя символа отличается от имени функции, поскольку имена функций не являются уникальными.См. Имя искажения .

1 голос
/ 25 апреля 2011

Это означает, что вызов PROC _ imp _VirtualProtect принимает 16 байтов параметров (например, 4 DWORD или 2 DWORD и 4 WORD, или ...)

The @ 16генерируется в выходном объектном коде MASM при определении PROC (CDECL или STDCALL).Компоновщик видит искаженное имя.

0 голосов
/ 23 апреля 2011

Да, это только часть имени функции здесь.

...