Você está aqui: C++ ::: Dicas & Truques ::: Compilador g++ do GNU |
Como compilar, linkar e executar um programa C++ usando apenas o Bloco de Notas e o compilador g++Quantidade de visualizações: 1585 vezes |
É isso mesmo que vamos fazer nessa dica. Geralmente quando queremos escrever códigos C/C++, a primeira coisa que vem à nossa mente é a escolha da IDE para a realização dessa tarefa. Com isso não entendemos realmente como o processo funciona nos bastidores. O g++ é um compilador de linha de comando da família GNU. Ele é usado para pré-processar, compilar, fazer o assembler e linkar o código fonte para, finalmente, gerar um arquivo executável. No Windows, este compilador é fornecido como parte do MinGW, disponível em http://www.mingw.org. Se você ainda não tem o MinGW instalado em sua máquina, faça o download e tenha a certeza de que o diretório bin está no PATH do seu sistema. O MinGW também pode ser instalado como parte do Dev-C++. Então, verificada sua instalação, abra um janela de terminal e digite: g++ --version Pressione Enter e você terá um resultado parecido com: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- g++ (tdm64-1) 4.9.2 Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. O g++ compila arquivos com as extensões .c e .cpp (mesmo se a extensão for .c o compilador o tratará como código C++). Assim, abra o Bloco de Notas (ou seu editor de código favorito) e digite a seguinte listagem: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]){ cout << "Primeiro programa compilado com g++" << endl; system("PAUSE"); return EXIT_SUCCESS; } Salve este código como "programa.cpp" e, via janela de terminal, vá até o diretório onde você salvou o arquivo e dispare o comando: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- C:\Users\samsung>cd c:\estudos_cpp c:\estudos_cpp>g++ programa.cpp Se tudo correu bem você verá um arquivo a.exe no mesmo diretório. Dê duplo clique sobre o arquivo e verá que ele realmente está funcionando. Para que o nome do executável seja diferente de a.exe, você pode disparar o seguinte comando na fase de compilação: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- g++ -o programa.exe programa.cpp Agora se você olhar no seu diretório, verá um arquivo chamado programa.exe. |
Link para compartilhar na Internet ou com seus amigos: |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir substrings em strings C++ usando a função replace()Quantidade de visualizações: 10602 vezes |
Nesta dica mostrarei como podemos usar a função replace() da classe String do C++ para substituir parte de uma palavra, frase ou texto, ou seja, substituir uma substring em uma string. Para isso nós vamos usar a seguinte assinatura da função replace():string& replace(size_t pos1, size_t n1, const string& str); Veja o código C++ completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // vamos criar uma string string frase = "Gosto de Java"; cout << "A frase e: " << frase << endl; // vamos substituir Java por C++ frase.replace(9, 4, "PHP"); // e mostramos o resultado cout << "Depois da substituicao: " << frase << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: A frase é: Gosto de Java Depois da substituição: Gosto de PHP |
C++ ::: Win32 API (Windows API) ::: Strings e Caracteres |
Como converter caracteres individuais para letras maiúsculas usando a função CharUpper() da API do Windows a partir de seus códigos C++Quantidade de visualizações: 9498 vezes |
Pode usar a função CharUpper() da API do Windows para converter um caractere para seu correspondente em letra maiúscula. Veja o protótipo da função:LPTSTR CharUpper( LPTSTR lpsz ); Veja um exemplo no qual usamos esta função para converter uma letra minúscula em maiúscula: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]){ CHAR letra = 'a'; // vamos converter para letra maiúscula CharUpper(&letra); // vamos exibir o resultado cout << letra << endl; system("PAUSE"); return EXIT_SUCCESS; } Note que aqui nós fornecemos um ponteiro para o caractere que queremos transformar. Isso resulta em uma conversão sendo efetuada diretamente no caractere para o qual o ponteiro está apontando no momento. Podemos também obter o resultado da conversão em um outro ponteiro e usá-lo posteriormente. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]){ CHAR letra = 'a'; // vamos converter para letra maiúscula CHAR *resultado = CharUpper(&letra); // vamos exibir o resultado cout << *resultado << endl; system("PAUSE"); return EXIT_SUCCESS; } |
C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um diretório em C++ usando a função rmdir()Quantidade de visualizações: 8400 vezes |
Em algumas situações nossos códigos C++ precisam excluir diretórios. Isso pode ser feito com o auxílio da função _rmdir() ou rmdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:int _rmdir(const char *pathname); a) ENOTEMPTY - Directory not empty - O diretório não está vazio e portanto não pode ser excluído; b) ENOENT - No such file or directory - O caminho do diretório é inválido; c) EACCESS - Acesso negado - Algum outro programa está usando este diretório e mantém controle sobre o mesmo. Veja um trecho de código C++ no qual excluímos um diretório: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <direct.h> using namespace std; int main(int argc, char *argv[]){ // vamos excluir este diretório char diretorio[] = "C:\\Dev-Cpp\\estudos"; // vamos testar se houve erro na exclusão do diretório if(rmdir(diretorio) == -1){ cout << "Erro: " << strerror(errno) << endl; } else{ cout << "Diretório excluído com sucesso" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } É possível usar a versão Unicode de _rmdir(), ou rmdir(). O método _wrmdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <direct.h> using namespace std; int main(int argc, char *argv[]){ // vamos excluir este diretório wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos"; // vamos testar se houve erro na exclusão do diretório if(_wrmdir(diretorio) == -1){ cout << "Erro: " << strerror(errno) << endl; } else{ cout << "Diretório excluído com sucesso" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
O painel Toolspace Qual aba do painel Toolspace do AutoCAD Civil 3D é usada para revisar ou editar as definições que controlam os estilos de exibição dos tipos de objetos, estilos de rótulos e outras propriedades? A) Prospector B) Toolbox C) Survey D) Settings Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Viscosidade dinâmica A viscosidade dinâmica é uma substância dada em função do aumento das tensões de cisalhamento aplicadas à substância. A proporção em que o fluido se deforma em função do tempo é chamada de: A) velocidade do fluido. B) viscosidade do fluido. C) taxa de deformação do fluido. D) densidade do fluido. E) força aplicada ao fluido. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Formas: Confecção e colocação As formas e os escoramentos possuem diversos elementos, sobre eles, assinale a alternativa correta. A) As travessas têm a finalidade de impedir que os painéis se abram por ocasião do lançamento e adensamento do concreto. B) As cunhas são colocadas abaixo do par de pranchas, servindo para distribuir as tensões nas bases, principalmente na anulação do efeito do puncionamento. C) O chapuz apoia o painel da laje. São colocados de 50,0 em 50,0 cm. Servem para evitar que o painel deforme por flexão (flecha). D) Os pontaletes, também chamados de prumos ou pés-direitos, são os elementos de apoio da forma e devem ter diâmetro mínimo de 8,0 cm ou 5,0x7,0 cm. E) Os painéis são feitos de madeira de pinho, pregadas de cutelo, podendo também ser usados em formato de caibros de 5,0x7,0 cm ou 7,0x7,0 cm. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?soma = 0 for i in range(0, 10): soma = soma + 3 if i > 4: break print("A soma é: {0}".format(soma)) A) A soma é: 9 B) A soma é: 19 C) A soma é: 24 D) A soma é: 18 E) A soma é: 28 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Alvenaria: Técnicas construtivas Em alvenaria de vedação (preenchimento dos vãos das estruturas de concreto armado), um procedimento padrão deve ser efetuado para evitar o surgimento de fissuras entre a parede e a viga que fica imediatamente acima. O levantamento da parede é interrompido a cerca de 20 cm do respaldo, e deixa-se curar por alguns dias antes do fechamento com tijolos inclinados ou cortados na diagonal. Esse procedimento é denominado: A) Emboço. B) Encunhamento. C) Cisalhamento. D) Escantilhão. E) Chapisco. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Python - Como repetir os elementos de um vetor ou matriz usando a função repeat() da NumPy do Python C# - Como retornar a quantidade de itens em uma ListBox do C# Windows Forms usando a propriedade Count |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |