extern C kann nicht verwendet werden, die auf Klassen-Ebene?

Wollen einfach nur, um zu bestätigen, in der Windows-Umgebung, VSTS 2008 + C++ - Projekt, das wir nur anwenden, extern C, um die Funktion Ebene, nicht in der Lage, gelten für Ebene (Klasse, so dass alle member-Funktionen von der Klasse C language name mangling)? Ich habe versucht, mehrere Möglichkeiten, aber immer kompilieren Fehler.

vielen Dank im Voraus,
George

  • Da C keine Vorstellung von Klassen und member-Funktionen, es macht keinen Sinn zu geben, die member-Funktionen der direkten C-level-Verknüpfung. Was wollen Sie wirklich?
  • Ich möchte meine Eingabe und flexibler in meinem code, d.h. ich definiere eine Klasse-level-extern-C-option, dann werden alle folgenden neben der member-Funktionen auf die Klasse automatisch "Erben" diese option. Irgendwelche Kommentare oder Ideen?
  • Für welchen Zweck? Zu können, rufen Sie die member-Funktionen von C? (Nicht ohne eine Umleitung.) Haben unmangled Namen in die Objekte? (Nicht möglich, Namensraum-Kollisionen.)
  • Ich möchte bestätigen Sie, dass die Funktionen der C++ - Klasse kann nicht exportiert werden, mit extern C, wie können wir export-member-Funktion? Definieren Globale Funktion-wrapper und-export-Funktion-wrapper?
  • mein Ziel ist einfach-speichern Sie die Eingabe und flexibler in meinen code, möchte ich definieren extern " C einmal in eine Globale header-Dateien und gelten für alle Funktionen die ich brauche zu exportieren, mit C-style-name mangling.
  • Ich sehe nicht, wie extern "C" hilft, alle diese Ziele zu erreichen. Geben Sie ein Beispiel Verwendungszweck, bitte.
  • Die Frage, die Menschen Fragen sich: warum möchten Sie die export-Funktionen der Klasse mit C-Verknüpfung? Unabhängig von der Menge der Eingabe, diese kann nehmen, was ist der Punkt von diesem. Normalerweise werden Menschen, die export-Funktionen mit C-Verknüpfung, um Sie linkable und callable von C-code. Aber die Funktionen der Klasse sind von Natur aus nicht kündbaren von C-code. Auch wenn Sie zu verwalten, zu exportieren, um Sie mit C linkage irgendwie, Sie will immer noch nicht in der Lage, Sie zu nennen. Die Frage ist also: was ist der Punkt, der Export in diesem Fall?

InformationsquelleAutor George2 | 2009-06-22
Schreibe einen Kommentar