Einzelnen Beitrag anzeigen

TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#1

Compilierungsprobleme mit VisualC

  Alt 3. Mär 2010, 19:48
Hallo,

ich mache gerade ein paar "Gehversuche" mit C und habe hier jetzt ein Problem. Ich verwende Visual C++ 2008 Express, und in den Projekt-Einstellungen hab ich es auf C umgestellt (/TC ist gesetzt). Problem ist nur, dass mir VC einige Fehlermeldungen und die Ohren klatscht, die ich nicht nachvolziehen kann...

[TestAssembly.c]
Code:
#include "TestAssembly.h"
#include "Stdafx.h"

LPGehversuch_Jacobi Gehversuch_Jacobi__ctor_6000003(LPGehversuch_Jacobi __that)
{
    __that->G = 0;
    return __that;
}

double Gehversuch_Jacobi_num_flops(LPGehversuch_Jacobi __that, int M, int N, int num_iterations)
{
    double double0;
    double double1;
    double double2;

    double0 = ((double)((double)(M)));
    double1 = ((double)((double)(N)));
    double2 = ((double)((double)(num_iterations)));
    return (double)((((double0 - 1) * (double1 - 1)) * double2) * 6);
}

void Gehversuch_Jacobi_SOR(LPGehversuch_Jacobi __that, double omega, int num_iterations)
{
    int num0;
    int num1;
    double double2;
    double double3;
    int num4;
    int num5;
    int num6;
    int num7;
    double* doubleArray8;
    double* doubleArray9;
    double* doubleArray10;
    int num11;

    num0 = ((int)((signed int)(__that->G[])));
    num1 = ((int)((signed int)(__that->G[0][])));
    double2 = ((double)(omega * 0.25));
    double3 = ((double)(1 - omega));
    num4 = ((int)(num0 - 1));
    num5 = ((int)(num1 - 1));

    for (num6 = ((int)0); (num6 < num_iterations); num6++)
    {

        for (num7 = ((int)1); (num7 < num4); num7++)
        {
            doubleArray8 = ((double*)__that->G[num7]);
            doubleArray9 = ((double*)__that->G[(num7 - 1)]);
            doubleArray10 = ((double*)__that->G[(num7 + 1)]);

            for (num11 = ((int)1); (num11 < num5); num11++)
            {
                doubleArray8[num11] = ((double2 * (((doubleArray9[num11] + doubleArray10[num11]) + doubleArray8[(num11 - 1)]) + doubleArray8[(num11 + 1)])) + (double3 * doubleArray8[num11]));
            }

        }

    }

}
[TestAssembly.h]
Code:
typedef struct tag_Gehversuch_Jacobi
{
    double** G;
} Gehversuch_Jacobi, *LPGehversuch_Jacobi;
#define __new_Gehversuch_Jacobi(count) \
    (LPGehversuch_Jacobi) malloc(sizeof(Gehversuch_Jacobi) * count)


LPGehversuch_Jacobi Gehversuch_Jacobi__ctor_6000003(LPGehversuch_Jacobi);

double Gehversuch_Jacobi_num_flops(LPGehversuch_Jacobi, int, int, int);

void Gehversuch_Jacobi_SOR(LPGehversuch_Jacobi, double, int);
Die Restlichen Dateien sind Standarddateien eines VC-Projekts.

Nun bekomme ich immer folgende Ausgabe:
Code:
1>------ Erstellen gestartet: Projekt: TestAssembly_C, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Stdafx.cpp
1>Kompilieren...
1>TestAssembly.c
1>..\TestAssembly\bin\Debug\TestAssembly.c(7) : error C2061: Syntaxfehler: Bezeichner 'Gehversuch_Jacobi__ctor_6000003'
1>..\TestAssembly\bin\Debug\TestAssembly.c(7) : error C2059: Syntaxfehler: ';'
1>..\TestAssembly\bin\Debug\TestAssembly.c(7) : error C2146: Syntaxfehler: Fehlendes ')' vor Bezeichner '__that'
1>..\TestAssembly\bin\Debug\TestAssembly.c(7) : error C2061: Syntaxfehler: Bezeichner '__that'
1>..\TestAssembly\bin\Debug\TestAssembly.c(7) : error C2059: Syntaxfehler: ')'
1>..\TestAssembly\bin\Debug\TestAssembly.c(8) : error C2449: '{' auf Dateiebene gefunden - fehlt der Funktionsheader?
1>..\TestAssembly\bin\Debug\TestAssembly.c(11) : error C2059: Syntaxfehler: '}'
1>..\TestAssembly\bin\Debug\TestAssembly.c(27) : error C2146: Syntaxfehler: Fehlendes ')' vor Bezeichner '__that'
1>..\TestAssembly\bin\Debug\TestAssembly.c(27) : error C2061: Syntaxfehler: Bezeichner '__that'
1>..\TestAssembly\bin\Debug\TestAssembly.c(27) : error C2059: Syntaxfehler: ';'
1>..\TestAssembly\bin\Debug\TestAssembly.c(27) : error C2059: Syntaxfehler: ','
1>..\TestAssembly\bin\Debug\TestAssembly.c(27) : error C2059: Syntaxfehler: ')'
1>Das Buildprotokoll wurde unter "file://e:\Gehversuch\TestAssembly_C\Debug\BuildLog.htm" gespeichert.
1>TestAssembly_C - 12 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Wie bekomme ich das ganze zum Laufen? Für mich sieht das alles (von den Arraygeschichten abgesehen, da sehe ich ein, dass da was faul sein muss, ich bekomme aber bisher keine Fehler ) korrekt aus...
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat