Исполняемый файл a.out находится в двоичном формате. Вы можете открыть его в любом текстовом редакторе (например, vi, vim et c) или в шестнадцатеричном редакторе, но вы не сможете понять его содержимое.
Вы можете использовать некоторые команды для получения дополнительной информации о что содержится в исполняемом файле. Некоторые примеры команд: nm, strings, objdump
Пример:
$ nm a.out
$ strings a.out
$ objdump -xD --demangle a.out
Прочтите их руководство, чтобы узнать о них больше