Bevor man Macro anstelle von inline Funktionen vorschlägt sollte man sich Gedanken drüber machen ob Macros wirklich Sinn machen.
Das ist die erste Zusammenfassung die ich auf die Schnelle gefunden habe:
https://stackoverflow.com/questions/...ocessor-macros
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
@Peter: Das stimmt so nicht. Wenn du dir den Thread noch mal durchliest, dann kann man tatsächlich den Compiler auch zu einem inline zwingen. Nur ist das eben compilerspezifisch und nicht im C/C++ Standard festgelegt.
Microsoft hat nen ganz interessanten weiterführenden Artikel zum Thema "inline" verfasst.
@Peter : Einige Teile kann ich tatsächlich mit einem MACRO realisieren
ich hatte auch gelesen, dass es erst ab C99 ein "inline" gibt
@Sisor: Viele Infos, hab ich mir auch grad angeschaut. Danke Dir
@shedepe: wenn ich das richtig gelesen habe, kann man nur versuchen den Compiler zu zwingen
z.B. mit __forceinline. entscheiden tut letztendlich aber der Compiler ob er es inline codiert.
Zumindest hab ich jetzt etwas dazugelernt, dass es sogenannte "Empfehlungen" für den Compiler gibt.
Das war mir völlig neu.
Ich Danke Euch nochmal allen für die Anteilnahme
Hallo Siro,
Es gab noch "register", auch eine Empfehlung an den Compiler.
Der Compiler sollte entsprechende Variablen dann eine auto-Variable in einem CPU ablegen und nicht auf dem Stack.
Dies optimiert aber ein heutiger Compiler selbst.
C ist eine super Sprache, zumindest wenn man weiss was man macht und auch was der Compiler macht. Und über den Linker bescheid zu wissen ist, zumindest auf µCs, auch noch eine Notwendigkeit.
Spannend wird es dann, wenn man Code für unterschiedliche CPU-Architekturen, und meist auch unterschiedliche Compiler, entwickelt, welcher portierbar sein soll
MfG Peter(TOO)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Lesezeichen