Linkage beschreibt, wie sich Namen im gesamten Programm oder einer einzelnen Einheit auf dieselbe Entität beziehen können oder nicht. Linkage ist besonders in C ++ nützlich.
Ich habe eine einfache .NET-DLL, die mit VS2010 C # erstellt wurde, die zwei statische Member einer Klasse verfügbar macht
%Vor%
Ich habe dann eine Console-App von VS2010 C ++ erstellt und diese Funktion über _tmain hinzugefügt
%Vor%
Das...
In C static kann entweder eine lokale Variable oder eine globale Funktion / Variable ohne externe Verknüpfung bedeuten. In C ++ kann es auch eine Membervariable oder Memberfunktion pro Klasse bedeuten.
Gibt es einen Hinweis darauf, wie es...
Ich habe eine enum, die ich in einer .h Datei deklariert habe:
%Vor%
in einer separaten .cpp Ich kann das nicht tun:
%Vor%
Wie würde man das tun, ohne den ganzen Header, wo die enum deklariert ist, einzubeziehen?
Mein Fall ist ziemlich einfach: Ich möchte, dass mein C ++ - Programm Unix-Signale verarbeitet. Dazu stellt glibc eine Funktion in signal.h namens sigaction bereit, die erwartet, dass sie einen Funktionszeiger als zweites Argument erhält.
%...
Die Sprachverknüpfung einer Funktion gehört zu ihrem Typ:
7.5.1 [dcl.link] des ISO C ++ Standards:
Die Standardsprachenverknüpfung aller Funktionstypen, Funktionsnamen und Variablennamen ist die C ++ - Sprachverknüpfung. Zwei Funktionst...
Heute bin ich auf eine Besonderheit gestoßen, die, obwohl wahrscheinlich nicht wirklich wichtig, mich doch verwirrt. Vielleicht verstehe ich C ++ auch nicht richtig.
Einige Arrays in einer Quelldatei verweisen auf String-Literale, etwa so:...
Ich weiß also, dass Konstanten in C ++ standardmäßig eine andere Verknüpfung als Variablen erhalten. Deshalb darf ich nicht setzen
%Vor%
in einer Kopfzeile - der Linker wird sich zu Recht über mehrere Definitionen beschweren. OTOH, ich kan...
Diese Frage steht in direktem Zusammenhang mit diesem . Betrachten Sie den Code:
%Vor%
Es zeigt 10 an. Wenn ich die Deklaration extern int x; lösche, erhalten wir einen Mehrdeutigkeits-Compiler-Zeitfehler
Fehler: Verweis auf 'x'...
Ich benutze WebKit in einer OS X App über die JUCE WebBrowserComponent , einen leichten Wrapper um Apples WebView Ziel-C-Klasse.
Ich kompiliere unter OS X 10.12 mit einem Implementierungsziel von 10.7.
Das Problem, das ich habe, ist, das...
Sind mehrere Instanzen derselben Klassenvorlage mit demselben Typ in verschiedenen Kompilierungseinheiten zulässig? Was ist mit Funktionsvorlagen?
Ein Beispielcode ist wie folgt:
test.hpp
%Vor%
test1.cpp
%Vor%
test2.cpp
%Vor%
W...