Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di eclips
    Registrato dal
    Apr 2005
    Messaggi
    48

    problemi con C\C++ in eclips

    ciao,
    finalmente ho fatto il mio primo built, con questo risultato:

    /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(libcmain.o):: undefined reference to `_WinMain@16'
    collect2: ld returned 1 exit status
    make: *** [prova1.exe] Error 1
    make: Target `all' not remade because of errors.


    VVoVe: VVoVe: VVoVe: ma che roba è? come si risolve?


    il codice è il seguente:



    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>

    struct nodo{
    int inf;
    struct nodo *punt_succ;
    };

    struct nodo *pt_testa=NULL;
    struct nodo *pt_coda=NULL;

    void push_coda(int quantita){

    struct nodo *nuovo=(struct nodo*)malloc(sizeof(struct nodo*));

    (*nuovo).inf=quantita;
    (*nuovo).punt_succ=NULL;

    if(pt_testa==NULL)
    pt_testa=pt_coda=nuovo;
    else
    {
    (*pt_coda).punt_succ=nuovo;
    pt_coda=nuovo;
    }
    }

    void visualizza()
    {
    struct nodo *app;
    app=pt_testa;
    while(app!=NULL)
    {
    printf("nodo:> %d \n",(*app).inf);
    app=(*app).punt_succ;
    }
    }

    int main(int scelta){

    int quantita;
    printf("1) Inserisci\n2) Visualizza\n0) per uscire\n\n:>>");
    scanf("%d",&scelta);

    if(scelta!=0){
    switch(scelta){
    case 1:
    printf("\nDammi l'informazione:> ");
    scanf("%d \n",& quantita);
    push_coda(quantita);
    break;
    case 2:
    visualizza();
    break;
    }
    return main(scelta);
    }
    else{
    system("PAUSE");
    return 0;
    }
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Ho corretto il titolo della discussione sostituendolo con uno maggiormente significativo.

    Cerca di usare titoli meno generici in futuro.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: problemi con C\C++ in eclips

    Originariamente inviato da eclips
    ciao,
    finalmente ho fatto il mio primo built, con questo risultato:

    /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(libcmain.o):: undefined reference to `_WinMain@16'
    collect2: ld returned 1 exit status
    make: *** [prova1.exe] Error 1
    make: Target `all' not remade because of errors.


    VVoVe: VVoVe: VVoVe: ma che roba è? come si risolve?
    L'entry point WinMain viene usato nelle applicazioni Win32 GUI (grafiche). Mi sembra invece che il tuo obiettivo sia quello di realizzare una applicazione "console".
    In pratica hai solamente sbagliato a creare il progetto. Giusto per chiarire subito ... io non conosco Eclipse, ma credo che quando vai a creare un nuovo progetto ti chieda che tipo di progetto vuoi realizzare. Bene, dovresti vedere se c'è un tipo di progetto "console" o "Win32 console" o comunque qualcosa di simile.

    Desidero inoltre segnalarti alcune cose, a livello di linguaggio "C", che potrebbero esserti sicuramente utili (credimi!!!):

    a) Quando posti il codice, per cortesia, postalo indentato correttamente (4 spazi per l'indentazione).

    b) Vedo che fai in certi punti: (*nuovo).inf. Bene, sappi che è molto più preferibile usare la sintassi nuovo->inf che è esattamente la stessa cosa.

    c) La dichiarazione della funzione main è sbagliata. Hai messo: int main(int scelta). La funzione main() la puoi dichiarare tipicamente in 2 modi:
    int main (void)
    oppure
    int main (int argc, char *argv[])

    Usi il primo modo se non hai bisogno dei parametri della linea di comando, usi il secondo modo se invece hai bisogno dei parametri della linea di comando.

    d) Nel main fai un return main(scelta);. È una pessima soluzione, primo per il motivo del punto c) appena detto, secondo perché è un modo di operare scadente.

    Spero naturalmente di esserti stato di aiuto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it L'avatar di eclips
    Registrato dal
    Apr 2005
    Messaggi
    48
    Prima di tutto grazie per avermi risposto e anche per i consigli . Neanche io non conosco bene ECLIPSE, quello è il mio primo codice in C con ECLIPSE. L’indentazione l’avevo messo ma non la presa, probabilmente perché non ho messo i 4 spazzi. Anche se quell’altra forma è più elegante…., io preferisco di più gli asterischi (e nemeno variabili globali non sono visti di buon'occhio da alcuni standard). Per quanto riguarda il main, lo so è un mostruosità, ma l’ho presa come scorciatoia :master: , comunque…. Il mio obiettivo è quello di realizzare una applicazione "console" più precisamente creazione e visualizzazione di un lista di interi (in realtà il codice + o – funziona in devc++).
    Non penso di aver sbagliato il tipo di progetto, ECLIPSE è molto diverso dagli altri ambienti(devC++, borland…), non è possibile fare questo tipo di errore, io penso piuttosto che la colpa sia del compilatore. Io utilizzo il “Cygwin”, mi sono scordato di metterlo prima. Non so niente di questo compilatore è la prima volta che lo utilizzo, per cui boh ????
    Tu lo conosci ? ah gia il mio SO è l’XP. Ha qualche problema con l’XP?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.