Цитата
Как заставить IAR-ий линкер НЕ ПИСАТЬ по данному адресу функцию, а только произвести вызов? Из расчета что библиотечная функция по данному адресу уже есть.
В линкере создаем секцию типа MY_SPACE_PROGRAMM размером равным максимальному размеру подгружаемой программы.
С помощью команад section_begin и section_end можно получить начало и размер этой области.
далее создаем прототип нашей функции
Код
typedef int(*my_programm_func)(int argc, const char* argv[]);
определяем указатель
Код
my_programm_func my_exe;
инициализируем указатель
Код
my_exe = __section_begin(MY_SPACE_PROGRAMM )
делаем операции которые проверяет правельность кода, его наличие и т.д.
вызываем
Код
my_exe(param_count, ptr_param);
P.S. а создавая код своей ункции указываеш где и как еще размещать, причем я думаю дак если включить реижм компиляции в библиотеку, приэтом присвоив функции #pragma section="NAME" [align]
то может с этого что то и получится...