006
26.01.2008, 16:03 Uhr
Tom Nachdenk
|
Zitat: | marko_oette schrieb @Tom: Man kann in dem Falle ja auch die Funktion komplett in Assembler programmieren, diesen Code assemblieren und die Funktion dann via "extern" Schlüsselwort im C Code verwenden. Den Rest erledigt der Linker. |
Jain, so einfach ist das nicht. Man muss dazu schon die Aufrufkonventionen des C-Compilers kennen und externe Code muss dem dann auch entsprechen . So wie ich Rüdiger verstanden habe ging es aber darum eine optimierte Version einer Problemlösung inline zu verwenden. z.B. weil der C-Compiler bestimmte Befehle der CPU nicht benutzt. Hat er aber klargestellt das es darum geht externen Code der möglicherweise ganz anderen Konventionen folgt einzubinden. Sollte ebenso möglich sein, ist aber Compilerabhängig. Evtl.hilft es eine entsprechende Funktion zu konstruieren, dann statt des compilergenerierten Codes dann den eigenen Code (also Register vom Stack laden, Routine aufrufen, Ergebniswerte entsprechend in Variablen speichern, Rückgabewert definieren) einfügen und das dann als 'extern' Assemblerdatei einzubinden. |