Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C++] Problemi con Visual C++ 2005 Express Edition

    Ciao a tutti,
    ho da poco installato Visual C++ 2005 Express Edition, la versione gratuita che si trova sul sito della Microsoft... prima usavo il Dev-C++. Ho provato subito a scrivere un semplice programmino che stampi a monitor la stringa "Ciao!!", il codice è sicuramente corretto, ma il compilatore mi segnala errore. Più precisamente:

    "Impossibile avviare il programma: 'C:\...\ciao.exe'. Impossibile trovare il file specifico."

    Perchè mi segnala questo errore?? Non dovrebbe crearmi in automatico l'eseguibile??

    Ho notato la seguente cosa: quando apro un nuovo progetto, il compilatore mi offre questo codice, che mandato in esecuzione funziona...

    #include"stdafx.h"
    usingnamespace System;
    int main(array<System::String ^> ^args)
    {
    Console::WriteLine(L"Hello World");
    return 0;
    }


    Questo invece è il codice che scrivo io, che mandato in esecuzione restituisce il messaggio che ho postato precedentemente:

    #include"iostream.h"
    #include"conio.h"
    #include"stdio.h"
    int main()
    {
    cout << "Hello World!";
    getch();
    return (0);
    }


    Quindi l'errore sta nel codice!?!? Visual C++ vuole qualche istruzione che non conosco per eseguire un programmino come questo?!!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Hai usato un progetto Console CLR.

    Per quello che vuoi fare devi creare un progetto Console Win32.

    A questo punto puoi scrivere

    codice:
    #include "stdafx.h"
    
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout << "Hello World!";
        getchar();
    
        return (0);
    }

  3. #3

    Re: [C++] Problemi con Visual C++ 2005 Express Edition

    Originariamente inviato da Skywalker87
    #include"iostream.h"
    #include"conio.h"
    #include"stdio.h"
    int main()
    {
    cout << "Hello World!";
    getch();
    return (0);
    }
    Questo codice è a tutti gli effetti sbagliato.
    Riga 1: gli header della libreria del C++ vanno senza il .h.
    Riga 2: qui stai facendo un mischione tra C e C++ (ma se vuoi usare la getch c'è poco da fare...).
    Riga 3: idem, ma qui la stdio non serve in alcun modo; inoltre nei programmi C++ le librerie standard C (tra le quali NON rientra la conio.h) hanno il nome preceduto da una c e non hanno il .h alla fine (ad esempio, #include <cstdio>).
    Riga 6: cout non è nel namespace globale; o inserisci std::cout oppure prima di int main inserisci un using namespace std;.
    Riga 7: piuttosto che usare getch usa std::cin.ignore();, in modo da non dover nemmeno usare conio.h; tuttavia in questo caso dovrai premere Invio e non un solo tasto.
    Tutto il programma: con le massime probabilità stai compilando il programma in modalità CLR, e non come programma nativo; crea un progetto nativo e non .NET per poter usare il C++ standard.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Ok grazie adesso funziona... facendo qualche prova mi sono accorto che il programma non funziona se per esempio ometto la "using namespace std;", oppure se scrivo "iostream.h", questo con il DevC++ non accadeva. Mi chiedo perchè invece di segnalarmi l'errore nel codice, aiutandomi così a capire dove stà il problema, il compilatore mi restituisce l'errore citato prima; a questo punto mi chiedo se questo sia un buon compilatore... Un'ultima cosa: a che serve la labreria "stdafx.h"??

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    stdafx.h non e' una libreria ma un file include ... se lo apri leggi

    // stdafx.h : file di inclusione per file di inclusione di sistema standard
    // o file di inclusione specifici del progetto utilizzati di frequente, ma
    // modificati raramente

    Tu avevi creato un progetto CLR che e' una cosa diversa da un progetto Win32 nativo.

    DevCpp puo' solamente gestire il secondo tipo di progetti e non quelli CLR ...

    Stai tranquillo ... il compilatoer e' veramente ok ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.