Это зависит от того, что вы подразумеваете под SLOC, что GCC скомпилировал. Если вы имеете в виду отслеживать исходные файлы из вашего проекта, которые использовал GCC, то вы, вероятно, использовали бы параметры отслеживания зависимостей, в которых перечислены исходные файлы и заголовки. Это -M
и различные варианты. Остерегайтесь включения системных заголовков. Техника, которую я иногда использую, заключается в замене стандартного компилятора C соответствующим вариантом - например, чтобы обеспечить 64-битную компиляцию, я использую 'CC="gcc -m64"
', чтобы гарантировать, что при использовании компилятора C он будет компилироваться в 64 -битный режим. Очевидно, что со списком файлов вы можете использовать wc
для вычисления количества строк. Вы используете 'sort -u
' для удаления дублирующихся заголовков.
Одна очевидная ошибка: если вы обнаружите, что все включено с относительными именами путей, тогда вам нужно более тщательно разобраться, где находится каждый файл.
Если у вас есть другое определение SLOC, вам нужно будет указать, что вы имеете в виду. Иногда люди ищут непустой SLOC, например, без комментариев - но вам все еще нужен список исходных файлов, который, я думаю, опции -M
помогут вам определить.