コンパイル時に決定してるいることなんてほとんど無いでしょ?
たとえばテキストエディタで決まったファイルネームで且、中身の決まったものしか
読めないテキストエディタなんてだれが使うの?

開くファイルはコンパイル時には決定できませんよね