Te makra nie zwracają wartości numerycznej lecz ciąg znaków.
Można by zdefiniować swój symbol (w Eclipsie w ustawieniach gcc) z 32 bitowym tzw. unix stamp:
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
...ale w windzie to pewnie nie zadziała

Ale można by zrobić koślawe obejście odpalając przed kompilacją skrypt .BAT (w Eclipsie pre build command czy jakoś tak - piszę z pamięci), który zapisze bieżącą datę do pliku .h, i inkludując ten plik w programie.
...ale to i tak nic nie da bo windziane "date" to lipa.
Ale dlaczego to miała by być data, może po prostu niech to będzie kolejna liczba. Jak to zrobić w windzie? Mamy w pliku, dajmy na to ID.TXT wpisaną bieżącą liczbę. Skrypt .BAT odpalany przez Pre Build wczytuje ten plik, inkrementuje liczbę i generuje plik .h z
#define ID liczba_wczytana_z_pliku_powiększona_jeden (i oczywiście zapisuje zaktualizowany ID.TXT. Jak to mówią: "rzeźbą w g...." ale skoro działa (jeśli działa) to czym się przejmować?
Skrypt to mniej więcej coś takiego:
@ECHO OFF
SET /p a=<id.txt
SET /a b=%a%+1
ECHO %b%>id.txt