Довольно пугающая концепция, но если вы действительно хотите это сделать, вы можете указать определение препроцессора в настройках проекта Visual Studio следующим образом: YOUR_NAME=$(USERNAME)
, поскольку на компьютерах с Windows определена переменная окружения %USERNAME%
.Если вы заинтересованы в использовании этого из командной строки (или в этом случае в Makefile), вы можете указать /DYOUR_NAME=%USER_NAME%
в качестве аргумента для cl.exe
.
PS: Даже если то, что вы описали, возможно, выВозможно, захочется пересмотреть эту практику.Если вы хотите, чтобы определенные функции включались только в определенных сценариях, рассмотрите возможность использования некоторых других переключателей, которые включают / отключают определенные функции, например: значения реестра, файлы конфигурации и любые другие флаги, которые вы сочтете целесообразными.Это, по крайней мере, обеспечит возможность тестирования всех ваших коллег на одинаковых двоичных файлах.На самом деле это довольно распространенная практика, используемая иногда в средах с непрерывной интеграцией , чтобы вы могли интегрироваться на ранних этапах и при этом не заставлять других ждать, пока вы не завершите или не исправите функцию.Этот условный переключатель, конечно, удаляется, как только функция, даже удаленная, кажется, готова хорошо играть с остальной частью вашего продукта.