a.out is very old, we are talking about Linux kernel version linux 1.2. Assuming you are running on any remote linux platform, you are generating elf executables by default. Use the command filefor the output executable to verify. For example:.
$ file server
server: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
source
share