да это не так и сложно. выносишь все функции в отдльную библиотеку. вместо выделения памяти создаешь своб функциб, типа my_malloc, в своей либе делаешь if win - heapalloc, if lin - malloc и т.д.
я так одну программу писал, и под вин и под линь одновременно, без зависимостей (не малварь!:))