При создании библиотек (для собственных нужд) столкнулся с проблемкой.
Представьте что делаются две библиотеки для одной и той же задачи. Например, софтовое исполнение и аппаратное. Соответственно все подпрограммы делаются с одинаковыми именами. Для того, чтобы вызывающая прога не видела разницы. Не знала вообще что за библиотека подсунута.
В одной из библиотек есть 2 ф-ции.
Код
void a(int x, int y);
void b(int x, int y);
В другой библиотеке обе ф-ции выполняются с помощью одной, поэтому в реализации написано так
Код
void b(int x, int y)
{
a(x,y);
}
Компилятор при этом честно генерит:
Код
b: rcall a
ret
И никакая оптимизация не помогает.
Макроопределениями пользоваться нехочу. Как сделать чтобы компилятор вместо вызова одной подставлял обращение к другой. Фактически, чтобы он сделал бы две метки (при компиляции программы) на одну процедуру?