Ubuntu 18.04 acho que o arquivo de código-fonte C / C ++ é texto simples

0

Quando tento criar um arquivo de origem C / C ++

touch test.cpp

Geralmente, ele gera um arquivo cujo tipo é o arquivo de código-fonte C. Mas hoje eu tenho um arquivo de texto simples.

Eeuescrevoumprogramasimplescomo:

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

Então eu uso o G + + para compilá-lo:

g++ test.cpp -o test

No entanto, recebi um arquivo sharedlib em vez de um arquivo executável.

E posso executar o arquivo sharedlib e obter a saída correta:

./test
hello

No passado, eu posso criar diretamente um arquivo de código-fonte C ++ e esse tipo de arquivo é fácil de editar em vscode. Mas o arquivo de texto simples não é confortável para mim.

Então as duas perguntas realmente me incomodam:

  1. por que meu Ubuntu não consegue reconhecer o arquivo de código-fonte C / C ++ corretamente?
  2. por que recebo um arquivo sharedlib usando o comando padrão g ++?
por pangbryant 28.06.2018 / 12:08

1 resposta

0

O comando touch test.cpp cria um arquivo de texto simples no Ubuntu 18.04 por padrão como deveria. Em seguida, tente abrir o test.cpp no editor de texto Gedit e cole o seguinte código como você fez:

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

Salve o arquivo. Agora olhe para o lado direito do painel inferior no Gedit e você verá que o tipo de arquivo foi alterado para C ++. Clique com o botão direito do mouse em test.cpp e selecione Propriedades e você verá que o Tipo foi alterado para código-fonte C ++ (text / x-c ++ src) . Você não deve ter nenhum problema executando o test.cpp que agora tem o código-fonte C ++ do tipo (text / x-c ++ src) no Visual Studio Code.

Se você deseja obter um arquivo executável / x-sharedlib (que tem um ícone em forma de losango com duas marchas no Ubuntu 18.04) em vez de um arquivo application / x-sharedlib, é necessário criar um novo projeto para o código-fonte test.cpp no Visual Studio Code antes de executá-lo.

    
por 28.06.2018 / 12:28