A
Schlitzauge schrieb:
deshalb würde ich gerne wissen, wie dabei der C++-Builder vorgeht, also wie dieser im Hintergrund aus der C++-Variable eine ASM-Variable macht, sodass ich das auch selber programmieren kann?
Schau doch einfach selbst im Disassembler, welche Opcodes der BCC für deinen C++-Code generiert.
Du kannst darüber hinaus, sofern die Borland-Erweiterungen aktiviert sind, in C++-Code mit _EAX, _EBX etc. direkt auf die Register zugreifen.
Weiß nicht obs funzt, aber wäre nicht die Lösung dafür einen eigenen Namespace zu schreiben, in dem die besagte ISO-Syntax sehr wohl auch im C++-Builder funktioniert (natürlich würde im Hintergund (im Namespace) wieder die Syntax für ASM-Code des C++-Builders genutzt, dennoch kann man dann den Quellcode beliebig weitergeben (man müsste dann halt nur den Namespace wieder entfernen)?
Ich kann dir nicht folgen. Wenn du einen eigenen Präprozessor für diesen Zweck erstellst, mag es sein, daß du Inline-Assembler so schreiben kannst, daß er mit BCC, GCC und MSVC auf Windows gleichermaßen funktioniert, aber grundsätzlich ist Inline-Assembler ungefähr das systemspezifischste, was du machen kannst, nicht nur weil die Interaktion mit dem C++-Code von Compiler zu Compiler unterschiedlich gelöst ist.
Was das aber mit Namespaces zu tun haben soll, entgleitet meinem Auffassungsvermögen vollständig.