Delphi-PRAXiS
Seite 7 von 8   « Erste     567 8      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++ C++ Builder oder Visual C++ (https://www.delphipraxis.net/187171-c-builder-oder-visual-c.html)

BUG 6. Nov 2015 18:09

AW: C++ Builder oder Visual C++
 
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 :?

Mikkey 6. Nov 2015 18:15

AW: C++ Builder oder Visual C++
 
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).

Der schöne Günther 6. Nov 2015 18:25

AW: C++ Builder oder Visual C++
 
( Mit dem LLVM-Compiler habe ich leider noch nicht wirklich produktiv etwas gemacht, aber spontan sah es mir auch danach aus als könne man mit den Fehlermeldungen noch weniger anfangen als sonst. Konkrete Beispiele habe ich aber nicht mehr zur Hand. )

MrSpock 6. Nov 2015 19:04

AW: C++ Builder oder Visual C++
 
Zitat:

Zitat von BUG (Beitrag 1320791)
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 :?

OK, habe die Option, die dort zum Verhindern der Umwandlung gesetzt werden kann, geändert und dann hat es wieder weiter compiliert, ist aber an zwei Stellen wieder auf Fehler gelaufen.

Werde es jetzt mal mit VC++ versuchen.

Zacherl 6. Nov 2015 19:10

AW: C++ Builder oder Visual C++
 
Zitat:

Zitat von Mikkey (Beitrag 1320793)
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.

:shock: gut zu wissen. Das habe ich bisher tatsächlich bei keinem anderen C++ Compiler gesehen.

Zitat:

Zitat von Der schöne Günther (Beitrag 1320794)
( Mit dem LLVM-Compiler habe ich leider noch nicht wirklich produktiv etwas gemacht, aber spontan sah es mir auch danach aus als könne man mit den Fehlermeldungen noch weniger anfangen als sonst. Konkrete Beispiele habe ich aber nicht mehr zur Hand. )

Habe ich eigentlich eher gegenteilig in Erinnerung. Zumindest bei komplexem Template Code sind die Fehlermeldungen von MSVC oftmals nicht sehr konkret. Da hat LLVM/CLang teilweise bessere Sachen ausgespuckt.
Der LLVM Compiler ist aber recht umständlich zum Laufen zu bekommen (zumindest unter Windows mit Visual Studio).

BUG 6. Nov 2015 19:47

AW: C++ Builder oder Visual C++
 
OT:
Zitat:

Zitat von Zacherl (Beitrag 1320797)
Der LLVM Compiler ist aber recht umständlich zum Laufen zu bekommen (zumindest unter Windows mit Visual Studio).

Wenn ich mal wieder etwas mehr Zeit habe, werde ich CLion antesten. Was ich bis jetzt gesehen habe sieht ziemlich vielversprechend aus.

MrSpock 7. Nov 2015 09:53

AW: C++ Builder oder Visual C++
 
Habe gestern jetzt mal VC++ installiert und die OpenCV Library.

Dann habe ich denselben Code wie beim C++ Builder eingegeben. Dann die Pfade eingegeben, wie hier beschrieben. Das musste ich anpassen, weil ich das Visual Sudio 2015 benutze und ich der Anleitung eine andere Version beschrieben wird. Habe dann aber eine OpenCV_Debug Konfiguration erstellt, in der ich die Pfade angepasst habe. Zunächst die Include Pfade. Das hat nicht so geklappt wie in der oben verlinkten Beschreibung.

Kann man in den Include Pfaden einen Pfad eingeben, der auch alle Unterverzeichnisse dieses Pfades automatisch durchsucht?

Interessanterweise habe ich dann die Pfade so hinbekommen, dass die Include und Namespace Anweisungen nicht mehr rot unterstrichen waren:

Code:
#include <cv.h>
#include <highgui.h>

using namespace cv;
Aber die erste Funktion imread:

Code:
int main( int argc, char** argv )
{
 char* imageName = argv[1];

 Mat image;
 image = imread( imageName, 1 );
und auch alle weiteren Funktionen werden nicht gefunden.

Welchen Pfad in den Einstellungen muss ich denn dafür ergänzen?

Offensichtlich reicht da der Include Pfad nicht.

Zumindest wurden hier die Headerdateien problemlos durchlaufen. Damit bin ich tatsächlich weiter als mit dem C++ Builder. Leider. :(

BUG 7. Nov 2015 10:02

AW: C++ Builder oder Visual C++
 
Zitat:

Zitat von MrSpock (Beitrag 1320811)
und auch alle weiteren Funktionen werden nicht gefunden.

Ist das ein Compiler- oder ein Linker-Fehler?

MrSpock 7. Nov 2015 10:35

AW: C++ Builder oder Visual C++
 
Ist unterstrichen und es erscheint die Meldung, dass die Funktion nicht gefunden wird. Deshalb glaube ich das kommt vom Compiler.

Bernhard Geyer 7. Nov 2015 11:24

AW: C++ Builder oder Visual C++
 
Zitat:

Zitat von Mikkey (Beitrag 1320793)
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.

Das wäre mir neu. Wenn man (Bei Standard-Einstellungen bezüglich Warnings) TStrings.Create aufruft kommt 5 (!) Meldungen der Art:
Delphi-Quellcode:
[dcc32 Warnung] Unit1.pas(30): W1020 Instanz von 'TStrings' mit der abstrakten Methode 'TStrings.Get' wird angelegt

Zitat:

Zitat von Mikkey (Beitrag 1320793)
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.

TChart ist aber kein "Standardcontrol" sondern wird von einem 3th-Party-Hersteller beigesteuert. Und Steema (der Hersteller) liefert auch ein TChart für .NET.
Und unter .NET (wie Java) findet man mittlerweile mehr Controls/Komponenten als unter Delphi. Wir binden bei uns sogar schon mehrer Java-Controls ein das es im Delphi-Umfeld nichts vergleichbares gibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:53 Uhr.
Seite 7 von 8   « Erste     567 8      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz