![]() |
Re: c++ vs delphi
Zitat:
Der C-Char und der Delphi-Char sind zwei verschiedene Datentypen. Ein Char in C ist nur ein Byte, was auch immer ich darin speichere und als was auch immer ich dieses Byte interpretiere. "c = 'A'" ist eine Zuweisung, wobei "'A'" zwar vom Menschen als Buchstabe interpretiert wird, in Wirklichkeit jedoch nichts anderes als die Zahl 65 ist. Genauso wie ShortInt und LongInt in Delphi sind auch char und int in C zuweisungskompatibel. b enthält danach den Wert 65+7=72. Versuche ich das wieder als Zeichen zu interpretieren (indem ich es ohne in einen String umzuwandeln ausgebe, kriege ich das Zeichen "H", aber nur, weil die Konsole die Zahl 72 aus dem Buffer als H auf den Bidlschirm pinselt. Die korrekte Delphi-Übersetzung wäre also eher:
Delphi-Quellcode:
var
a: LongInt; b: ShortInt; begin b := Ord('A'); //(oder "b := Byte('A');", ich weiß nicht, ob der Compiler sowas zulässt, // vielleicht geht auch schon das implizite Casting mit "b := 'A';" a := 7; b := b + a; end; Zitat:
Delphi-Quellcode:
kommt auch eine :roll:
var
x: PLongWord; begin x := nil; x^ := 123; end; Wenn man printf() richtig anwendet, kommt keine Zugriffsverletzung, sondern wie oben gesagt ein "H", da b (72) als ASCII-Zeichen (%c) interpretiert wird:
Code:
So, nu aber Schluß mit dem versuchten Beweis, daß C das Böse[tm] selbst ist.
{
int a; char b; b= 'A'; a= 7; b= b+a;///na, was sagst du dazu? printf("%c", b); } Zitat:
Zitat:
Und Hunde die Bellen, beißen nicht... Edit: Mann, mann, nichtmal taggen kann ich richtig :-? |
Re: c++ vs delphi
Zitat:
Also IMHO sollte der Compiler sowas auch erkennen, wenn schon zur Compilerzeit klar ist, dass durch den Code eine AV ausgelöst wird. Aber das geht jetzt schon mehr in Richtung Compiler als Sprache... MfG Binärbaum |
Re: c++ vs delphi
Ich glaube, das sagt einiges:
Monster.de Sucherergebnis (leider keine Trefferanzahl - nur Seitenzahl) Suche nach C++: 18 Seiten Suche nach Delphi: 1 Seite Suche nach C#: 3 Seiten Man beachte, dass C# die "jüngste" Sprache ist... |
Re: c++ vs delphi
Zitat:
In diesem Fall ist das natürlich ... äh ... doof :roll: |
Re: c++ vs delphi
Hi,
Zitat:
cu |
Re: c++ vs delphi
Zitat:
Zitat:
|
Re: c++ vs delphi
Zitat:
Zitat:
Zitat:
Merkste wat? Jenaaaau, es kommt drauf an, *wie* man etwas macht. Daß nicht jedes Programm die Gnome-Filedialogs benutzt, hat überhaupt rein garnix mit GTK zu tun. Zitat:
|
Re: c++ vs delphi
Zitat:
Zitat:
Zum Glück verwendet nicht jedes Programm den GTK DateiDialog, und natürlich hat das gerade was mit GTK zu tun :twisted: Ich meine selbst FireFox kriegt das gebacken. Zitat:
Zitat:
Zitat:
Mit Delphi 7, also getrennten Fenstern, und x weiteren geöffneten Programmen habe ich keine Probleme. Für Multimonitornutzer sind gedockte Fenster unpraktisch. Aber das alles wird OT. |
Re: c++ vs delphi
Zitat:
Auf einem GNU-System will ich auch die offizielle GNU-Laufzeitumgebung benutzen, und die ist nunmal die GNU C Library. Die bietet Dinge wie Signal Handling, IPC und sogar ein Waschbecken. Außerdem kann man davon ausgehen, daß sie auf jedem GNU-System vorhanden ist, daher kann ich sie dynamisch linken und meine Echse bleibt schön klein. Und wie öffne ich mit JEDI einen POSIX-Pipe zu einem Prozess, von dem ich die PID habe? Zitat:
Die VCL hält sich auch nicht immer an das, was Windows ihr vor die Füße wirft. Und seit XP sehen sie auch nicht immer so aus, wie alle anderen Windows-Anwendungen. Deswegen die vCL zu verteufeln ist aber auch nicht das Wahre. Wenn du sämtliche Windows-Features haben willst, musst du sie dir selber besorgen und nicht Fremdkapselungen benutzen. Erst Recht nicht GTK oder Qt, die auch noch komplett eigene Widgets zur Verfügung stellen. Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: c++ vs delphi
Zitat:
Zitat:
Schau dir mal ne Qt Anwendung mit Themes an... Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Ein Programm muß sich an das BS anpassen und nicht sein Heimatland importieren. Wenn ich ins Ausland gehe um dort zu leben lerne ich die Sprache dieses Landes und seine Bräuche. Ich verlange nicht meine Wurstbude und mein Bier, und installiere mir meine eigene neutrale Zone, das ist unhöflich. Zitat:
Zitat:
Zitat:
Zitat:
Das ist natürlich schlecht, solange hab ich mir das nichtmal angesehen. P.S. Ich habe nichts gegen Linux. Auch nicht gegen OpenSource Frameworks, aber die mir bisher bekannten sind einfach unsauber. Dann MS VS hat sich gerade mal gemausert da ist jetzt die Borland IDE plötzlich total schlecht? Das finde ich doch etwas unobjektiv. Momentan sind viele Lösungen (insbesondere GUI) nicht ausgereift sowohl für Pascal als auch für C++. |
Re: c++ vs delphi
Zitat:
Zitat:
Zitat:
Und warum pinselt man sich Labels selbst auf den Canvas, wenn es doch unter den Windows-Controls so schöne Dinge wie STATICs gibt? *Das* gehört auch dazu, wenn man sämtliche nativen Elemente unterstützen will. Zitat:
Zitat:
*Ich* will Portability, und ich benutze dafür liebend gerne freie Toolkits. Zitat:
Zitat:
Zitat:
Wenn du optisch auf das Niveau von Windows kommen willst, hast du schon fast ein fertiges TK, da kannst du auch ein fertiges (GTK, Qt, ...) nehmen. Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: c++ vs delphi
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
GUI Design ist sehr wichtig, es geht ja nicht um kleine Zeichenfehler, sondern das jedes Programm anders funktioniert und dafür gibt es BSe. Verwendet man Bordmittel beherrscht man ein Programm im Handumdrehen, sonst ist dauerend Einarbeitung nötig = unproduktiv. Zitat:
Zitat:
Zitat:
|
Re: c++ vs delphi
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Schau mal, geh mal auf ![]() Zitat:
Diese ganze Diskussion lässt sich ganz einfach komprimieren: GTK hatte never ever das Ziel, Windows zu unterstützen, und dennoch bist du der Meinunng, daß es deren Aufgabe sei, native Dialoge des jeweiligen Systems zu verwenden. Für sowas war aber GTK nie gemacht worden. Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Aber wenn ich auf mehreren Hochzeiten feiern will, müsste ich für jedes Betriebssystem eine eigene Oberfläche entwickeln und maintainen. Da ich persönlich mich lieber auf die Funktionalität des Programmes konzentriere und nicht 80% meiner Arbeit in die Oberfläche stecke, nehme ich da lieber etwas, was auf allen Plattformen verfügbar ist und portiere nicht jeden Dialog rüber. Echt Plattformunabhängigkeit gibt es bereits mit Java, dort sehen alle Programme gleich (schlecht :mrgreen:) aus. Und wenn ich mich nicht irre gibt es sogar für Java entsprechende Schnittstellen zum unterliegenden System, sprich native widgets. Zitat:
Zitat:
|
Re: c++ vs delphi
OT:
Ist immer wieder lustig, wenn tommie einen zum rumsticheln gefunden hat. :mrgreen: *sich wieder schmunzelnd zurückzieht* |
Re: c++ vs delphi
Tja, es ist immer wieder lustig wie manche mit Fachbegriffen um sich schmeißen, die sie irgendwo gehört haben aber das ganze eigentlich gar nicht benutzen. 8)
Da der Thread nun mit der Ausgangsfrage überhaupt nichts mehr zu tun hat, sondern eher mit Linux / Windows : es hieß, ein Windows - Programm solle aussehen wie ein Windows - Programm und nicht wie ein Linux Programm usw. Wenn dem nicht so ist, dann nervt das IMHO die Enduser. Gestern wollte ich z.B. was aus dem Internet ausdrucken. Hellblaue Schrift auf Schwarz. Echt cool. 8) Ich habe einen Teil des Textes nach Word kopiert. Da war das coole dann eben, daß die hellblaue Schrift auf dem weißen Papier gar nicht zu lesen war. Ich mußte die Schriftfarbe also erst auf schwarz umstellen um es dann drucken zu können. Das Problem bei "Standards" ist nun leider, daß es zumindest bei Windows keiner ist ! :mrgreen: Wer sich strikt an die Mickysoft "Standards" hält, der bekommt massive Probleme sein Programm nach ISO???? zertifizieren zu lassen. Denen (und auch mir) ist es u.a. nämlich ein Greuel, mit ALT-F4 ein Fenster schließen zu müssen und mit TAB zum nächsten Steuerelemet zu gehen. Wer hat sowas erfunden ? Wie gesagt, es geht dabei nicht mal so um das Aussehen, sondern um eine einheitliche, intuitive Bedienung eines Programmes ohne Verrenkungen im Handgelenk. Es wäre wohl schon wichtiger, sich über solche Sachen mal Gedanken zu machen, als über Betriebssysteme oder auch C zu diskutieren, die man sowieso nicht beeinflussen kann. |
Re: c++ vs delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
|
Re: c++ vs delphi
:twisted:
Code:
Dies ist das Kreuzprodukt mit einer Matrix und einem Vektor.
M = M * V;
Code:
us1 += us2;
Code:
us1 += L"\blablubb";
Code:
Dies war eine Wrapperklasse für die UNICODE_STRING-Struktur in Aktion.
us1 += "Ein ANSI-String ... blabla";
Ich komme dann wieder sobald operator-Überladen in Delphi auch geht (ohne .NET!) :zwinker: Noch Fragen? :mrgreen: ... ihr wißt ja: ich bin der Geist, der stets verneint :mrgreen: And the winner is ... Celphi++ |
Re: c++ vs delphi
Zitat:
Was Windows angeht, ist bestimmt nicht alles perfekt, aber es sind wohl die meistens Nutzer daran gewoehnt. Jetzt mal einfach sein eingenes Design/Konzept aufzuzwingen kann es wohl nicht sein. Und wenn schon, dann muss man es auf jeden Fall auf den BS Standard umstellen koennen. ALT+F4 ist fuer mich kein Problem, Klavierspielen macht die Haende sehr flexibel :lol: |
Re: c++ vs delphi
Zitat:
Was die Unicode-Sache angeht, es gibt WideString, was also soll das Beispiel? |
Re: c++ vs delphi
Zitat:
Zitat:
|
Re: c++ vs delphi
Ist denn von der Perfomance kein Unterschied zu finden?
Es wäre also möglich ein modernes Spiel auch in Delphi zu schreiben? Oder nicht? |
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
![]() Von der Performance selber gesprochen: Delphi hat Probleme was die Geschwindigkeit bei Gleitkommaberechnungen angeht, da optimiert der Kompiler leider so gut wie gar nicht. Ich kenne bis jetzt auch keinen Delphi/Pascal Kompiler der die "neuen" Prozessorfeatures wie MMX oder SSE direkt zur Codeoptimierung nutzt. Für Graphik alleine ist das nicht so schlimm, das Problem ist erst bei komplexen (sprich realistischen) Physikengines oder der KI von Gegnern. Wer einen echten Vorsprung gegenüber der Konkurrenz haben will der wird mit vielen Einkäufen nicht so weit kommen, denn er muß sich abheben. Graphik und Effekte zählen heute leider mehr als die Spielidee. |
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
Zitat:
|
Re: c++ vs delphi
Zitat:
Ich nehme an, dass Du die 'großen' Titel meinst... auch die kaufen Subsysteme (die halt aufgebohrt werden), da niemand mehr die Zeit hat, sich 5 Jahre hinzusetzen um eine Engine und ein Spiel zu entwickeln. Zudem wird es zunehmends schwieriger in Deutschland Experten in den betreffenden Bereichen (z.B. Animation) zu finden. Zitat:
Noch jemand Lust auf den Fußball-Manager 2006 :witch: (es geht auch anders, auf Siebenwind wird immer noch Rollenspiel mit OU-Engine gespielt :)) topic: man kann mit Delphi gute, moderne Spiele entwickeln - ist nur eine Frage der Anforderungen und der Zeit. |
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Bleibt mal locker :wink:
Ja, mir war klar, dass es so gut wie keine Grafikengine für Delphi zu kaufen gibt. Mir ging es mehr um das theoretische, ob Delphi sonst irgendwelche Nachteile mit sich bring. Was bedeutet denn Codeoptimierung eigentlich? Natürlich kann ich mir was darunter vorstellen, dass der compilierte Assemblercode so effektiv wie möglich gestalltet ist. Aber macht das so viel aus? |
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
Berechnungen mit Multimedia Daten lassen sich typischer Weise aber nicht durch einen klugen Algorithmus beschleunigen. Häufig muß man den kompletten Datenstrom betrachten: Filtereffekte, Überblenden, Tonverzerrung, OGG-Vorbis-Decodierung und Ähnliches können nicht einfach einen Teil der Daten ignorieren. Häufig wird ist das bei schnellen Algorithmen der Fall: z.B. Clipping: spart Zeichenoperationen, Stringsuche: die Länge des Such-Strings kann verwendet werden um Bytes zu überspringen. Trotzdem schafft man mit SSE häufig 2-4 fache Beschleunigung (für Multimedia-Daten), weil dort mehrere Datenpakete der gleichen Größe auf einmal verarbeitet werden können. Was Gleitkommaoperationen angeht: Delphi streut zuviele fwaits in seinen Kode ein, solche Funktionen wie Sin werden als Funktionsaufruf implementiert obwohl der Prozessor direkt dafür einen Opcode anbietet. Da wäre Compilermagic sinnvoller. Dann werden oft Sachen hin und herkopiert auch wenn es unnötig ist. Es gibt noch anderes... Vor längerer Zeit habe ich mal einen Funktionsparser geschrieben, der den Term dann in Assemblerkode umgewandelt hat. Das war jetzt nicht wirklich optimiert, aber trotzdem immer ungefähr doppelt so schnell wie der von Delphi kompilierte Kode. C++ Kompilat war meistens noch schneller. Allgemein, ist Delphi gegenüber klassischen C++ Compilern nicht so schlecht, ausgenommen Intel's C++ Compiler, aber der optimiert ja auch auf die neusten CPUs. |
Re: c++ vs delphi
Hi,
mir hat sich hier beim Lesen eine Frage gestellt, die ggf. OT ist: Was passiert eigentlich, wenn man einen Code mit SSE(2), MMX, etc. Befehlen schreibt und dieser auf einem Prozessor ohne dieses Feature ausgeführt wird? Das wäre mal sone Sache die mich interessieren würde... mfG mirage228 |
Re: c++ vs delphi
Zitat:
(aber bei aktuellen Spielen setzt man einfach einen P4-kompatiblen Prozessor voraus...) |
Re: c++ vs delphi
Zitat:
![]() Zitat:
Der Delphi-Compiler (ich weiß nicht, ob's der ICC besser gemacht hätte) produziert nicht immer optimalen Code (schon allein weil der Compiler manchmal nichts über die Anwendung weiß und keine Annahmen über die Umgebung machen kann, von daher ist jeder Compiler noch weiter optimierbar für spezielle Anwendungen) und bei kritischen Funktionen kann eine Handoptimierung durchaus noch etwas bringen. |
Re: c++ vs delphi
Wirklich krasse Unterschiede beim Otptimieren bemerkt man beim Debugging von .Net Apps.
Wenn du zum Bleistift durch eine Collection mit nur 5 Elementen iterierst wird sich der JIT nicht viel Mühe geben um möglichst optimalen Code zu generieren. Jetzt führe die gleiche Methode mit 10000 Elementen aus. Der ASM Code hat sich geändert, da er jetzt rausholt was er nur kann. :shock: Wobei es wieder fies ist JITs einer VM mit einem normalen Compiler zu vergleichen. ;) (wäre für beide Seiten ungerecht) Wollte es nur als krasses Beispiel erwähnen. :mrgreen: |
Re: c++ vs delphi
Zitat:
Zum Thema: Der Intel C++ Compiler bietet die Möglichkeit, Code für verschiede Prozzitypen zu schreiben. André |
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
Andere Möglichkeit ist optimierte Bereiche für mehrere Prozessoren zu schreiben und mit Hilfe von CPUID den richtigen Code zur Laufzeit auszuwählen. Zitat:
|
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
Dir ist schon klar, was die UNICODE_STRING-Struktur ist? Hier mal der Typ in Delphi:
Delphi-Quellcode:
... und jetzt bin ich mal gespannt, wie exakt du das mit einem WideString lösen willst, ohne vor der Übergabe einer UNICODE_STRING-Struktur jedesmal rumzupfriemeln. Präprozessor-Makros gibt es neben Operator-Overloading auch nicht bei Delphi.
type
UNICODE_STRING = record Length: Word; // Länge in Bytes, immer gerader Wert MaximumLength: Word; // Maximale Länge in Bytes, immer gerader Wert Buffer: PWideChar; end; Außerdem kann man in C++ Klassen wie Stackvariablen benutzen - will heißen, wenn "out-of-scope" wird die Klasse freigegeben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 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