Вы могли пользоваться общей библиотекой (Unix), или DLL (Windows), чтобы сделать это также (будет определенная потеря производительности). Можно тогда измениться, DLL/так, чтобы загружается (одна версия для отладки, одна версия для неотладки).
я сделал подобную вещь в прошлом (для не достижения того, чего Вы пытаетесь достигнуть, но основная предпосылка является тем же), и это удалось хорошо.
[Редактирование на основе комментария OP]
На самом деле одна из причин я хочу переопределить функции, то, потому что я подозреваю, что они ведут себя по-другому в различных операционных системах.
существует два распространенных способа (что я знаю о) контакта с этим, общим lib/dll путем или записью различных реализаций, против которых Вы связываетесь.
Для обоих решений (совместно использованный освобождает или другое соединение) у Вас был бы foo_linux.c, foo_osx.c, foo_win32.c (или лучшим путем является linux/foo.c, osx/foo.c и win32/foo.c), и затем скомпилируйте и свяжитесь с соответствующим.
, Если бы Вы ищете и другой код для различных платформ И отлаживаете выпуск-vs-, я, вероятно, был бы склонен пойти с общим решением lib/DLL, поскольку это является самым гибким.
Did you try the manpage for head?
head -n 10 filename
Head is a fine tool, but you might also try:
sed 10q path
For code golf fanatics, sed is always better than head :)