Сегодня я неожиданно обнаружил, что когда я создаю файл исходного кода на C или C ++, например, используя vi или touch
touch test.c
, Ubuntu не думает, что это файл исходного кода, и распознает его как простой текст. И когда я использую команду file, она показывает:
test.c: empty
Напишите в ней простую программу
#include <stdio.h>
int main()
{
printf("hello world");
}
Я использую GCC для ее компиляции,
gcc test.c -o test
, затем простой текст теперь может быть распознан как исходный файл C, а значок заменен на файл исходного кода C.
Однако я получаю файл sharedlib вместо исполняемого файла. Это выглядит странно. В прошлом, когда я создавал файл .c / .cpp, система правильно распознала его тип файла. Как я могу это исправить?