Ваш вопрос звучит не очень корректно.. Суть какая, все приложения имеют одно расширение exe, те которые написаны на C# можно определить с помощью MSIL. Для С++ все будет выглядеть одинаково для всех компиляторов и отличить их можно по косвенным признакам (секциям, выравниваниям).
Но иногда собранные файлы, для того что бы они занимали меньше места упаковывают и для этого используются программы упаковщики и определить упаковщик как раз более реальная задача и это можно сделать, если вам все таки нужно это