Estoy usando Delphi 2010. ¿Es posible decirle a Delphi que no genere un prólogo para una función? Estoy escribiendo algunas funciones de montaje puros como esto:Eliminar el prólogo de una función escrita en ensamblaje puro
procedure SomeAssembly; stdcall;
begin
asm
...
end;
end;
y me gustaría decirle a Delphi no generar un prólogo y un epílogo para esta función, como característica de C++ 's __declspec(naked)
.
Y así nadie pierde su tiempo, no necesito ayuda para que estas funciones funcionen con el prólogo; Ya puedo hacer eso. Es solo un gran inconveniente y hará que el mantenimiento sea una gran molestia. Tendré que inspeccionar manualmente los prólogos generados por el compilador para ver su longitud, y si eso cambia, mi programa fallará.
También sé que puedo escribir la función como una serie de bytes en una matriz de bytes, pero eso sería incluso peor que tener que buscar la longitud del prólogo de Delphi.
¿Por qué no todos en SO pueden responder así? Extremadamente útil, gracias Rob. –
@K. Charles: ¿diferente nivel de experiencia? Sin embargo, era una suposición descabellada, sin ofender a nadie. –
¿No hay un nivel extra de indirección cuando tienes un puntero de función? Personalmente, hubiera pensado que tasm sería más adecuado. –