AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

C++ Builder oder Visual C++

Ein Thema von MrSpock · begonnen am 3. Nov 2015 · letzter Beitrag vom 22. Dez 2015
Antwort Antwort
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#1

AW: C++ Builder oder Visual C++

  Alt 5. Nov 2015, 15:37
... Bei kleinen Libs ist das ganz oft aber nicht der Fall. Man darf nicht vergessen, dass eine Lib nicht nur aus den Binärdateien besteht (die theoretisch immer kompatibel sein sollten), sondern auch aus Header Files (und genau hier gibt es dann die Kompatibilitätsprobleme).
Warum sind z.B. Headerfiles nicht kompatibel? Weil es dort Deklarationen gibt, die in systemspezifischen Bilbliotheken definiert sind?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: C++ Builder oder Visual C++

  Alt 5. Nov 2015, 16:03
Warum sind z.B. Headerfiles nicht kompatibel? Weil es dort Deklarationen gibt, die in systemspezifischen Bilbliotheken definiert sind?
Die Verwendeten Bibliotheken müssen natürlich da sein; aber es gibt da noch Compiler-spezifische Erweiterung wie zum Beispiel Pragmas und einige Attribute.
Zusätzlich ist zum Beispiel der Microsoft-Compiler sehr gutmütig mit einigen nicht-Standard-konformen Konstrukten ... da macht Portieren dann Spaß
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: C++ Builder oder Visual C++

  Alt 5. Nov 2015, 20:02
... Bei kleinen Libs ist das ganz oft aber nicht der Fall. Man darf nicht vergessen, dass eine Lib nicht nur aus den Binärdateien besteht (die theoretisch immer kompatibel sein sollten), sondern auch aus Header Files (und genau hier gibt es dann die Kompatibilitätsprobleme).
Warum sind z.B. Headerfiles nicht kompatibel? Weil es dort Deklarationen gibt, die in systemspezifischen Bilbliotheken definiert sind?
Header-Files können unter anderem auch (anders als beim Delphi Interface-Teil) richtigen Code in Form von Funktionen, oder inline deklarierten Klassenmethoden enthalten. Diese Komponenten sind nicht im Binärteil von bereits kompilierten Libs enthalten und werden dann on-demand erstellt. Je nach Compiler variieren auch Sprachfeatures, weshalb ein Header dann unter einem Compiler wunderbar verwendet werden kann, für einen Anderen aber erst angepasst werden muss.

Teilweise muss man einige Verrenkungen anstellen, damit eine Lib zu allen großen Compilern kompatibel ist. Kleines Beispiel:
Code:
#if defined(MYLIB_MSVC) || defined(MYLIB_BORLAND)
#   define MYLIB_INLINE __inline
#else
#   define MYLIB_INLINE inline
#endif
oder auch:
Code:
#if defined (_M_AMD64) || defined (__x86_64__)
#   define MYLIB_X64
#elif defined (_M_IX86) || defined (__i386__)
#   define MYLIB_X86
#else
#   error "Unsupported architecture detected"
#endif
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: C++ Builder oder Visual C++

  Alt 5. Nov 2015, 22:40
Da ja wohl alles egal ist bis auf C++ scheint wohl auch die GUI entweder absolut sekundär oder gänzlich unnötig sein.

Bei der Bild-Verarbeitung brauche ich auch keine GUI (was will ich denn während der Verarbeitung sehen - ein animiertes Bild?).
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#5

AW: C++ Builder oder Visual C++

  Alt 6. Nov 2015, 09:41
Die GUI spielt definitiv eine untergeordnete Rolle.

Sie wird ihr Programm vorführen müssen und die Algorithmen an einigen Beispielvideos demonstrieren müssen. Aber sie kann das von Ihrem Rechner aus machen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
275 Beiträge
 
Delphi 12 Athens
 
#6

AW: C++ Builder oder Visual C++

  Alt 6. Nov 2015, 17:18
Zitat von MrSpock:
Aber sie kann das von Ihrem Rechner aus machen.
Du solltest testen ob der Vorführrechner genügend Power(Prozessor, RAM und Graphikkarte) und die richtige Festplatte
(Standardplatten ruckeln im Videobereich) hat.

Mulitprozessorprogrammierung wegen Laufzeit der Programme erforderlich?

Gruß
Alfred
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#7

AW: C++ Builder oder Visual C++

  Alt 6. Nov 2015, 17:40
Ob der Rechner leistungsfähig genug ist, muss sie noch prüfen.

Hab jetzt einmal OpenCV geladen und in C++ Builder eine einfache Anwendung aus dem Tutorial übermnommen. Beim Compilieren erhalte ich dann eine Fehlermeldung bei:

Code:
namespace cv
{
    using std::min;
    using std::max;
    using std::abs;
    using std::swap;
    using std::sqrt; << hier kommt der Fehler
Zitat:
[BCC32 Fehler] cvstd.hpp(74): E2316 '_fm_sqrt' ist kein Member von 'std'
Vollständiger Parser-Kontext
File1.cpp(9): #include C:\Daten\Cpp\opencv\sources\include\opencv\cv.h
cv.h(63): #include C:\Daten\Cpp\opencv\build\include\opencv2/core/core_c.h
core_c.h(48): #include C:\Daten\Cpp\opencv\build\include\opencv2/core/types_c.h
types_c.h(101): #include C:\Daten\Cpp\opencv\build\include\opencv2/core.hpp
core.hpp(54): #include C:\Daten\Cpp\opencv\build\include\opencv2/core/base.hpp
base.hpp(55): #include C:\Daten\Cpp\opencv\build\include\opencv2/core/cvstd.hpp
cvstd.hpp(69): namespace cv
Das könnte jetzt eine "Inkompatibilität" des Header Files sein, was hier angesprochen wurde?!
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#8

AW: C++ Builder oder Visual C++

  Alt 6. Nov 2015, 18:09
Irgendwo wird fastmath.h eingebunden, das durch ein Präprozessormakro sqrt durch _fm_sqrt ersetzt; das ist natürlich keine gute Idee. Das das Teil von Compilerhersteller kommt macht es irgendwie schlimmer
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#9

AW: C++ Builder oder Visual C++

  Alt 6. Nov 2015, 18:15
Da ich in der letzten Zeit relativ viel mit dem C++-Builder (aus XE7) gemacht habe und einiges an Erfahrung mit MS-C++ habe, gebe ich meinen Senf auch noch dazu.

Die Emba-IDE ist verglichen mit Visual Studio (und auch "SharpDevelop") >5 Jahre zurück. Wie schon geschrieben, ein einzelner Syntaxfehler in irgendeiner Datei des Projekts verhindert die Anzeige der Klassenmember.

Der C++-Builder gibt Fehlermeldungen, die den Fehler nicht richtig beschreiben, verlagert den Ort der Fehler zum Teil in andere Quelldateien.

Für mich das schlimmste: Ebenso wie bei Delphi erlaubt der Compiler das Erstellen von Klassen mit pure-virtuellen Funktionen. In dem Zusammenhang eine ungewöhnliche Handhabung bei Interfaces - der Compiler gibt nicht mal einen Hinweis aus, dass eine Funktion nicht implementiert wurde, sie wird stillschweigend als pure-virtual eingebaut.

Bei Controls hat Delphi die Nase vorn, die Menge an Standardcontrols ist bei Microsoft ziemlich beschränkt (das gilt dort für C# gleichermaßen). So etwas wie TChart muss man sich dort selbst machen.

Edit: Weiteres Manko beim C++-Builder ist, dass der 64-Bit-Compiler Buggy ist, zum Teil werden kryptische Fehlermeldungen ausgegeben, obwohl der Code absolut in Ordnung ist (gem. 32-Bit-Compiler).

Geändert von Mikkey ( 6. Nov 2015 um 18:17 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz