Tag: calling-convention

Eine Aufruf-Konvention bezieht sich auf die Art und Weise eine Funktion überträgt Parameter an eine aufgerufene Funktion aus und erhält den Rückgabewert.

Ändern eines C# - Delegat Aufrufkonvention CDECL

Anzahl der Antworten 1 Antworten
Ich hatte dieses problem mit C#, wenn ich mit DotNet1.1 Das problem ist. Ich habe eine nicht verwaltete dll, die hat eine Funktion, die eine Funktion Zeiger (neben anderen Argumenten). Wenn ich erkläre das DLLImport in C#

Warum ist der Mac-ABI erfordert 16-byte-stack-Ausrichtung für x86-32?

Anzahl der Antworten 10 Antworten
Kann ich verstehen, diese Anforderung für die alten PPC-RISC-Systemen und auch für x86-64, sondern für die alte erprobte und wahre x86? In diesem Fall wird der Stapel ausgerichtet werden muss auf 4-byte-Grenzen nur. Ja, einige der MMX/SSE

Warum sollte default-Parameter Hinzugefügt werden, der Letzte in C++ - Funktionen?

Anzahl der Antworten 9 Antworten
Warum sollte default-Parameter Hinzugefügt werden, der Letzte in C++ - Funktionen? Es ist nicht nutzlos. Verständnis design-Sprache (und insbesondere die Gestaltung der Sprache(N), die Sie verwenden) sollte IMO gefördert werden. Um dies zu tun, unter andere Dinge,

Wo ist der x86-64-System V ABI dokumentiert?

Anzahl der Antworten 2 Antworten
Die x86-64-System V ABI (auf alles außer Windows) verwendet, um live bei http://x86-64.org/documentation/abi.pdf, aber diese site hat jetzt gefallen aus dem internet. Gibt es eine neue maßgebliche Hause für das Dokument? Die 0.99.6 Entwurf ist die neueste

__cdecl und __declspec Aufrufkonventionen Verwirrung

Anzahl der Antworten 2 Antworten
Ich Schreibe eine DLL, die für eine Drittanbieter-Anwendung. Die wichtigsten software-Ingenieur erwähnt, dass die Anwendung die __cdecl - (/Gd) - Aufrufkonvention. Muss ich sicherstellen, dass ich es auch benutzen. Zusätzlich, der Dritte hat für mich eine C++

Wie werden die Variablen Argumente, die Implementierung in gcc?

Anzahl der Antworten 4 Antworten
int max(int n, ...) Ich bin mit cdecl Aufrufkonvention, wo der Aufrufer bereinigt, die variable, nach der angerufene zurück. Ich bin daran interessiert zu wissen, wie die Makros va_end, va_start und va_arg Arbeit? Macht den Aufrufer übergeben,

Was Register zu retten, in den ARM C-Aufrufkonvention?

Anzahl der Antworten 5 Antworten
Es ist schon eine Weile her, seit ich das Letzte codiert, arm-assembler, und ich bin ein wenig eingerostet auf die details. Wenn ich den Aufruf einer C-Funktion von arm, ich habe nur sorgen zu machen über das

Wie wird die return-Adresse in Stapel?

Anzahl der Antworten 4 Antworten
Dies ist, was ich sehe, durch zerlegen für die Aussage function(1,2,3);: movl $0x3,0x8(%esp) movl $0x2,0x4(%esp) movl $0x1,(%esp) call 0x4012d0 <_Z8functioniii> Scheint es, die ret-Adresse ist nicht eingeschoben stack überhaupt,wie funktioniert dann ret Arbeit? InformationsquelleAutor Mask | 2010-03-30

Was bedeutet "cdecl" stehen?

Anzahl der Antworten 4 Antworten
Ja, ich weiß, dass "cdecl" ist der name einer prominenten-Aufrufkonvention, also bitte nicht erklären, die Aufrufkonventionen für mich. Was ich verlange ist, was die Abkürzung (?) "cdecl" eigentlich steht. Ich denke, es ist eine schlechte Benennung der

Ist fastcall wirklich schneller?

Anzahl der Antworten 4 Antworten
Ist der fastcall-Aufrufkonvention wirklich schneller als andere Aufrufkonventionen, wie cdecl? Gibt es benchmarks gibt, die zeigen, wie die Leistung beeinträchtigt wird, durch den Aufruf Konvention? "Wie ist die performance betroffen Aufruf-Konvention?" Marginal. Außer, wenn es die betroffenen

Die übergabe von Parametern und Rückgabewerten für ein Unterprogramm in Assembler

Anzahl der Antworten 2 Antworten
Ich arbeite mit der ARM-assembly, wo ich Schreibe eine subroutine, die ich nach dem ARM-Aufrufkonvention(diese müssen integriert werden mit einem separaten höheren Ebene die Umsetzung woanders ) für die übergabe von Parametern und Rückgabewerten. Nun, hier ist

Wie genau ist der callstack Arbeit?

Anzahl der Antworten 6 Antworten
Ich versuche, ein tieferes Verständnis darüber, wie die low-level-Operationen von Programmiersprachen zu arbeiten und vor allem, wie Sie interagieren mit der OS/CPU. Ich habe wohl gelesen, jede Antwort in jedem stack - /heap-bezogenen thread hier auf Stack Überlauf,

Frame pointer, epb, und die Rückkehr-Adresse

Anzahl der Antworten 2 Antworten
Das folgende Bild ist aus der wikipedia Eintrag auf call-stack und gibt es etwas, dass ich nicht ganz versteh: Dachte ich, dass der frame-pointer gespeichert, die im ebp-register initialisiert wird, die als solche im Prolog*: push ebp

Wie (cross-)kompilieren, um beiden ARM-hard - und soft-float (softfp) mit einem einzigen GCC (cross-)compiler?

Anzahl der Antworten 2 Antworten
Ich würde gerne eine Einzel - (cross-)compiler, um code zu kompilieren für verschiedene ARM-Aufrufkonventionen: da ich immer verwenden möchten, Gleitkomma-und NEON-Anweisungen, ich will nur wählen Sie die hard-float-Aufruf-Konvention oder die soft-float (softfp) - Aufrufkonvention. Mein compiler standardmäßig

Aufruf-Konvention, die auf x64

Anzahl der Antworten 1 Antworten
Sah ich an mehreren stellen, dass Microsoft die Aufrufkonventionen für x64 Plattformen wurden eingeengt, um nur einen Aufrufer bereinigt den stack (cdecl), und die Parameter die übergeben werden in einer Kombination von stack und Registern (ich werde

Löschen von anrufen aus der Anrufliste nach Aufruf Ende

Anzahl der Antworten 4 Antworten
Ich bin neu in Android-Entwicklung. Ich möchte einen Anruf zu einer Nummer, aber ich will nicht zum speichern der Nummer in meiner Anrufliste. Wie kann ich löschen Sie die Nummer aus der Anrufliste, nachdem Sie den Anruf

Kann Scala call-by-reference?

Anzahl der Antworten 3 Antworten
Ich weiß, dass Scala unterstützt call-by-name von ALGOL, und ich glaube, ich verstehe, was das bedeutet, aber können tun Scala call-by-reference wie in C#, VB.NET und C++ kann? Ich weiß, dass Java nicht call-by-reference, aber ich bin

Was sind die verschiedenen Aufrufkonventionen in C/C++, und was die jeweils bedeuten?

Anzahl der Antworten 6 Antworten
Gibt es unterschiedliche Aufrufkonventionen zur Verfügung, die in C/C++: stdcallexternpascal usw. Wie viele solcher Aufruf-Konventionen stehen, und was die einzelnen bedeuten? Gibt es irgendwelche links, die diese beschreiben? InformationsquelleAutor der Frage Ram | 2009-06-04

PowerShell: Übergeben Sie die Funktion als Parameter

Anzahl der Antworten 5 Antworten
Ich geschrieben habe, die Funktion 'A' aufrufen, werden einem eine Reihe anderer Funktionen. Speichern re-schreiben-Funktion 'A', möchte ich-pass die Funktion, die aufgerufen werden, als parameter der Funktion 'Ein'. Zum Beispiel: function A{ Param($functionToCall) Write-Host "I'm calling :

__cdecl oder __stdcall unter Windows?

Anzahl der Antworten 3 Antworten
Ich bin derzeit an der Entwicklung einer C++ - Bibliothek für Windows, die werden so verteilt, wie eine DLL. Mein Ziel ist, maximieren die binäre Interoperabilität; genauer gesagt, die Funktionen in meiner DLL verwendet werden muss, der

Warum verwendet Windows64 eine andere Aufrufkonvention als alle anderen Betriebssysteme auf x86-64?

Anzahl der Antworten 4 Antworten
AMD hat eine ABI-Spezifikation beschreibt, dass die Aufrufkonvention zu verwenden, die auf x86-64. Alle Betriebssysteme Folgen, außer für Windows gibt es eigene x86-64-Aufrufkonvention. Warum? Kennt jemand die technische, historische oder politische Gründe für diesen Unterschied, oder ist

Was ist __stdcall?

Anzahl der Antworten 8 Antworten
Lerne ich über die Win32-Programmierung, und die WinMain Prototyp sieht wie folgt aus: int WINAPI WinMain ( HINSTANCE instance, HINSTANCE prev_instance, PSTR cmd_line, int cmd_show ) War ich verwirrt, was diese WINAPI Bezeichner wurde und fand: #define

Weird MSC 8.0 Fehler: "Der Wert von ESP wurde nicht ordnungsgemäß über einen Funktionsaufruf gespeichert ..."

Anzahl der Antworten 19 Antworten
Wir haben vor kurzem versucht, auseinander brechen einige unserer Visual Studio-Projekte in Bibliotheken, und alles schien zu kompilieren und fein in ein test-Projekt mit einer von der Bibliothek Projekte als Abhängigkeit. Jedoch, der Versuch, die Anwendung auszuführen,

Warum kann ich eine Funktion über einen Zeiger mit zu vielen Argumenten aufrufen?

Anzahl der Antworten 2 Antworten
Sagen, dass ich diese Funktion: int func2() { printf("func2\n"); return 0; } Nun erkläre ich einem Zeiger: int (*fp)(double); Dies sollte zeigen Sie auf eine Funktion, der eine double argument und gibt eine int. func2 KEINE argument,

Was bedeutet __stdcall?

Anzahl der Antworten 9 Antworten
Denen ich begegnet bin __stdcall eine Menge in diesen Tagen. Und meiner Meinung nach, MSDN nicht erklären sehr deutlich, was es wirklich bedeutet, Wann und warum soll es genutzt werden, wenn überhaupt. Ich würde mich freuen, wenn

Wie deklariert man einen __stdcall Funktionszeiger

Anzahl der Antworten 1 Antworten
Habe ich versucht, dieses typedef void (* __stdcall MessageHandler)(const Task*); Dieser kompiliert, aber der gibt mir diese Warnung (VS2003): Warnung C4229: Anachronismus verwendet : Modifikatoren auf den Daten werden ignoriert Möchte ich deklarieren, die einen Zeiger auf