Можно объявить прототипы функций в отдельном заголовоке, а реализацию сделать где-то ещё. В этом случае все будет работать как в ассемблерном стартапе.