Возможно, ваша main
функция была закомментирована, например, из-за. Предварительная обработка.
Чтобы узнать, что делает предварительная обработка, попробуйте gcc -C -E es3.c > es3.i
, затем посмотрите в редакторе сгенерированный файл es3.i (и найдите main
внутри него).
Во-первых, вы должны всегда (так как вы новичок) скомпилировать с
gcc -Wall -g -c es3.c
gcc -Wall -g es3.o -o es3
Флаг -Wall
чрезвычайно важен, и вы всегда должны его использовать. Он говорит компилятору выдавать вам (почти) все предупреждения. И вы всегда должны прислушиваться к предупреждениям, то есть исправлять файл исходного кода es3.C
, пока у вас больше не будет предупреждений.
Флаг -g
также важен, потому что он просит gcc
поместить отладочную информацию в объектный файл и исполняемый файл. Затем вы можете использовать отладчик (например, gdb
) для отладки вашей программы.
Чтобы получить список символов в объектном файле или исполняемом файле, вы можете использовать nm
.
Конечно, я предполагаю, что вы используете систему GNU / Linux (и я приглашаю вас использовать GNU / Linux, если вы ее еще не используете).