Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

Ich habe einen nicht von mir geschriebenen Code, und möchte weiter daran arbeiten.

Das Problem ist, wenn ich ein neues Projekt erstelle und den Code einfüge erhalte ich unzählige Fehler beim kompilieren, obwohl ich den selben Kompiler (Borland C++ 5.02) nutze, wie der Autor des Codes.

Wenn ich die Originalprojektdatei öffne, geschieht die nicht. Woran kann das liegen?

Aufgefallen ist mir schon, daß teilweise Zeilen vorkommen, die sich nicht an den C/C++ Standart halten, wie zum Beispiel:

struct recv_params

{

   char  far              *   bufferPtr;

   int                        bufferLength;

   int                        flags;            /* Blocking or  dontwait */

   struct sockaddr far    *   fromPtr;          /* only needed for UDP */

   int  far               *   fromlengthPtr;    /* only needed for UDP */

   unsigned long              timeout;          /* timeout milliseconds */

};

Auch werden Funktionen eingebettet, die nirgendwo initiert wurden, trotzdem meldet der Kompiler keinen Fehler.

  • Autor

Hier alle Warnungen, die er mir rauswirft. Wie gesagt

es sieht alles nach falscher Syntax bzw. falschen deklarationen aus, bei der Original Projektdatei zuckt er nicht im geringsten, und erzeugt eine lauffähige Anwendung.

Info :Building...

Info :Compiling C:\Auswertung\C++\CodeRupp\Datsrv\datsrv.cpp

Error: TCPIPAPI.H(56,28):Declaration missing ;

Error: TCPIPAPI.H(59,28):Multiple declaration for 'recv_params::far'

Error: TCPIPAPI.H(56,28):Earlier declaration of 'recv_params::far'

Error: TCPIPAPI.H(59,28):Declaration missing ;

Error: TCPIPAPI.H(60,28):Multiple declaration for 'recv_params::far'

Error: TCPIPAPI.H(59,28):Earlier declaration of 'recv_params::far'

Error: TCPIPAPI.H(60,28):Declaration missing ;

Error: TCPIPAPI.H(66,28):Declaration missing ;

Error: TCPIPAPI.H(69,28):Multiple declaration for 'send_params::far'

Error: TCPIPAPI.H(66,28):Earlier declaration of 'send_params::far'

Error: TCPIPAPI.H(69,28):Declaration missing ;

Error: TCPIPAPI.H(70,28):Multiple declaration for 'send_params::far'

Error: TCPIPAPI.H(69,28):Earlier declaration of 'send_params::far'

Error: TCPIPAPI.H(70,28):Declaration missing ;

Error: TCPIPAPI.H(72,3):Constant member 'send_params::far' in class without constructors

Error: TCPIPAPI.H(83,20):Declaration missing ;

Error: TCPIPAPI.H(86,2):Constant member 'tag_setsockopt::far' in class without constructors

Error: TCPIPAPI.H(92,16):Declaration missing ;

Error: TCPIPAPI.H(93,16):Multiple declaration for 'tag_getsockopt::far'

Error: TCPIPAPI.H(92,16):Earlier declaration of 'tag_getsockopt::far'

Error: TCPIPAPI.H(175,14):Too many error or warning messages

Die Zeilen 56 bis 60 sind der von mir bereits gepostete Code:

struct recv_params

{

   char  far              *   bufferPtr;

   int                        bufferLength;

   int                        flags;            /* Blocking or  dontwait */

   struct sockaddr far    *   fromPtr;          /* only needed for UDP */

   int  far               *   fromlengthPtr;    /* only needed for UDP */

   unsigned long              timeout;          /* timeout milliseconds */

};

  • Autor

Hier alle Warnungen, die er mir rauswirft. Wie gesagt

es sieht alles nach falscher Syntax bzw. falschen deklarationen aus, bei der Original Projektdatei zuckt er nicht im geringsten, und erzeugt eine lauffähige Anwendung.

Info :Building...

Info :Compiling C:\Auswertung\C++\CodeRupp\Datsrv\datsrv.cpp

Error: TCPIPAPI.H(56,28):Declaration missing ;

Error: TCPIPAPI.H(59,28):Multiple declaration for 'recv_params::far'

Error: TCPIPAPI.H(56,28):Earlier declaration of 'recv_params::far'

Error: TCPIPAPI.H(59,28):Declaration missing ;

Error: TCPIPAPI.H(60,28):Multiple declaration for 'recv_params::far'

Error: TCPIPAPI.H(59,28):Earlier declaration of 'recv_params::far'

Error: TCPIPAPI.H(60,28):Declaration missing ;

Error: TCPIPAPI.H(66,28):Declaration missing ;

Error: TCPIPAPI.H(69,28):Multiple declaration for 'send_params::far'

Error: TCPIPAPI.H(66,28):Earlier declaration of 'send_params::far'

Error: TCPIPAPI.H(69,28):Declaration missing ;

Error: TCPIPAPI.H(70,28):Multiple declaration for 'send_params::far'

Error: TCPIPAPI.H(69,28):Earlier declaration of 'send_params::far'

Error: TCPIPAPI.H(70,28):Declaration missing ;

Error: TCPIPAPI.H(72,3):Constant member 'send_params::far' in class without constructors

Error: TCPIPAPI.H(83,20):Declaration missing ;

Error: TCPIPAPI.H(86,2):Constant member 'tag_setsockopt::far' in class without constructors

Error: TCPIPAPI.H(92,16):Declaration missing ;

Error: TCPIPAPI.H(93,16):Multiple declaration for 'tag_getsockopt::far'

Error: TCPIPAPI.H(92,16):Earlier declaration of 'tag_getsockopt::far'

Error: TCPIPAPI.H(93,16):Declaration missing ;

Error: TCPIPAPI.H(174,14):Declaration missing ;

Error: TCPIPAPI.H(175,14):Multiple declaration for 'tag_pppdial::far'

Error: TCPIPAPI.H(174,14):Earlier declaration of 'tag_pppdial::far'

Error: TCPIPAPI.H(175,14):Declaration missing ;

Error: TCPIPAPI.H(175,14):Too many error or warning messages

Die Zeilen 56 bis 60 sind der von mir bereits gepostete Code:

struct recv_params

{

   char  far              *   bufferPtr;

   int                        bufferLength;

   int                        flags;            /* Blocking or  dontwait */

   struct sockaddr far    *   fromPtr;          /* only needed for UDP */

   int  far               *   fromlengthPtr;    /* only needed for UDP */

   unsigned long              timeout;          /* timeout milliseconds */

};

  • Autor
Das liegt vermutlich an unterschiedlichen Projekteinstellungen.

Einstellungen in welchem Bereich? Ich habe die Optionen (Options|Project) manuell übertragen, und es läuft trotzdem nicht (selbe Fehlermeldung).

Im übrigen kann man doch diese Optionen den C/C++ Standard doch gar nicht aufweichen, bzw. neue Funktionen hinzufügen.

Einstellungen in welchem Bereich?
Kann ich dir nicht sagen. Ich kenne die Einstellmöglichkeiten des Borland-Compilers nicht.

Ich habe die Optionen (Options|Project) manuell übertragen, und es läuft trotzdem nicht (selbe Fehlermeldung).
Anscheinend hast du nicht alle übertragen, sonst würde es funktionieren.

Im übrigen kann man doch diese Optionen den C/C++ Standard doch gar nicht aufweichen, bzw. neue Funktionen hinzufügen.
Man kann den Standard nicht ändern, aber man kann das Verhalten des Compilers beeinflussen, so dass dieser sich nicht mehr an den Standard hält oder Erweiterungen einbringt.

Oder hat dir jemand garantiert, dass dieser Code reines Standard-C ist und nicht irgendwelche compilerspezifische Erweiterungen benutzt?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.