Oct 16, 2013 01:46
При программировании постоянно возникают почти безвыходные ситуации. Порой верного выхода нет, только компромисс. В таких ситуациях разочарование неминуемо.
Меня постигла очередная неудача. Мне нужно использовать одну библиотеку, которая есть только в 32-бит. Проблема в том, что под линупсом все перешли на 64 бита и в первую очередь библиотеки из репозитория. Соответственно мне пришлось делать переходник из кота в мышь который будет компилится в 32бит и грузить библиотеку.
И тут меня постигла существенная неудача. Универсальный переходник сделать невозможно. Оказывается в C в общем случае нельзя вызвать функцию, не зная количества и типы аргументов во время компиляции. Я хотел подгружать библиотеки динамически, вытаскивать из них адреса функций и потом как-то вызывать. К моему удивлению нет механизма записать в стек аргументы и вызвать функцию, хотя на ассемблере это до неприличия элементарно.
ЭВМЪ,
science has failed our world :-( )