IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

erreur fonction fft.


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 32
    Par défaut erreur fonction fft.
    Bonjour,

    voici le code de lafonction fft d'aprés Numerical Recipies:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    #include<math.h>
    #define SWAP(a,b) tempr=(a); (a)=(b); (b)=tempr
     
    void fft(float data[],unsigned long nn,int isign)
    {
    unsigned long n,mmax,m,j,istep,i;
    double wtemp,wr,wpr,wpi,wi,theta; //Double precision forthet rigonomet-ricrecurrences.
    float tempr,tempi;
    n=nn<<1;
    j=1;
    for(i=1;i<n;i+=2)
    {
    if(j>i)
    {
    SWAP(data[j],data[i]);
    SWAP(data[j+1],data[i+1]);
    }
    m=n>>1;
    while(m>=2&&j>m)
    {
    j-=m;
    m>>=1;
    }
    j+=m;
    }
     
    mmax=2;
    while(n>mmax){
     
    istep=mmax<<1;
    theta=isign*(6.28318530717959/mmax);
    wtemp=sin(0.5*theta);
    wpr=-2.0*wtemp*wtemp;
    wpi=sin(theta);
    wr=1.0;
    wi=0.0;
    for(m=1;m<mmax;m+=2){
    for(i=m;i<=n;i+=istep){
    j=i+mmax; tempr=wr*data[j]-wi*data[j+1];
    tempi=wr*data[j+1]+wi*data[j];
    data[j]=data[i]-tempr;
    data[j+1]=data[i+1]-tempi;
    data[i]+=tempr;
    data[i+1]+=tempi;
    }
    wr=(wtemp=wr)*wpr-wi*wpi+wr;
    wi=wi*wpr+wtemp*wpi+wi;
    }
    mmax=istep;
    }
    }
    le problème est que quand je compile ça me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Project   : Console application
    Compiler  : GNU GCC Compiler (called directly)
    Directory : D:\essaye3\
    --------------------------------------------------------------------------------
    Compiling: ..\essaye2\main.c
    Linking console executable: ..\essaye2\main.exe
    C:\Program Files\CodeBlocks\lib/libmingw32.a(main.o):main.c:(.text+0x106): undefined reference to `WinMain@16'
    collect2: ld returned 1 exit status
    Process terminated with status 1 (0 minutes, 9 seconds)
    0 errors, 0 warnings
    où est l'erreur ?

  2. #2
    Membre expérimenté Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Par défaut
    tu n'as pas déclaré de fonction main() non (ou WinMain si api windows) ?

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut


    si tu sais pas lire..... ça le dit, et c'est PAS dans la fonction fft .....



    Linking console executable: ..\essaye2\main.exe
    C:\Program Files\CodeBlocks\lib/libmingw32.a(main.o):main.c.text+0x106): undefined reference to `WinMain@16'

  4. #4
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Tu compiles ton application en tant qu'une application console.
    Le problème c'est que le linker ne trouve pas de fonction main().

  5. #5
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 32
    Par défaut
    et encore une fois je fais une erreur bete.
    merci et excuser pour le dérangement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/11/2006, 21h10
  2. [Forum] Erreur fonction mysql_result()
    Par reda93 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 01/08/2006, 10h13
  3. Réponses: 2
    Dernier message: 01/06/2006, 14h54
  4. [DOM XML] Erreur fonction load() d'un objet dom??
    Par ribrok dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2005, 11h43
  5. méssage d'erreur fonction d'agrégat
    Par developpeur_mehdi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/03/2004, 12h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo