Ubuntu 18.04 认为 C/C++ 源代码文件是纯文本

Ubuntu 18.04 认为 C/C++ 源代码文件是纯文本

当我尝试创建 C/C++ 源文件时

touch test.cpp

通常它会生成一个类型为C源代码文件的文件。但今天我得到了一个纯文本文件。 在此输入图像描述

我在里面写了一个简单的程序,如下所示:

#include <stdio.h>
int main()
{ printf("hello");}

然后我用G++编译它:

g++ test.cpp -o test

但是,我得到了一个共享库文件而不是可执行文件。 在此输入图像描述

我可以运行sharedlib 文件并获得正确的输出:

./test
hello

过去,我可以直接创建C++源代码文件,并且这种文件类型很容易在vscode中编辑。但纯文本文件对我来说并不舒服。

所以这两个问题确实困扰着我:

  1. 为什么我的Ubuntu无法正确识别C/C++源代码文件?
  2. 为什么我使用默认的 g++ 命令获取共享库文件?

答案1

该命令touch test.cpp默认在 Ubuntu 18.04 中创建一个纯文本文件。接下来尝试在 Gedit 文本编辑器中打开 test.cpp 并粘贴以下代码:

#include <stdio.h>
int main()
{ printf("hello");}

保存文件。现在查看 Gedit 底部面板的右侧,您将看到文件类型已更改为 C++。右键单击 test.cpp 并选择特性你会看到类型已更改为C++ 源代码 (text/x-c++src)。运行 test.cpp 应该没有问题,它现在有类型C++ 源代码 (text/x-c++src)在 Visual Studio 代码中。

如果你想获得可执行文件/x-sharedlib文件(在Ubuntu 18.04中它有一个带有两个齿轮的淡紫色菱形图标)而不是application/x-sharedlib文件,那么你需要创建一个新项目进行测试。 cpp 源代码在 Visual Studio Code 中运行之前。

相关内容