Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
PlugIn DLL shared machen für andere Programme?!
#1
Hi Developer,

Vorweg:
- ich programmiere unter Windows7
- hab mir VirtualBox mit Ubuntu eingerichtet und
- kompiliere alles mit dem MinGW-Makefile zur .dll

bin so ziemlich neu auf dem Gebiet Plugin-Programmierung, hab allerdings schon ein paar Jahre Programmiererfahrung.
Ich bin zur zeit daran ein Plugin für Pidgin zu basteln, wobei ich die .dll gleich noch als shared lib nutzen will um mir in einem anderen Programm die Daten die ich brauche zu nutze zu machen.

Jetzt mein Problem:
wie kann ich dem Compiler mitteilen das ich einige Resourcen bzw. Variablen shared haben will?
Unter Windows C++ mache ich das ganze mit
#pragma data_seg( "shared" )

// shared stuff

#pragma data_seg( );
#pragma comment( linker, "/SECTION:shared,RWS" );

und Fuktionen die ich außerhalb der DLL nutzen will mit __declspec( dllexport).
Also das mit den Funktionen funktinert soweit, auf die kann ich von außen zugreifen, aber das mit den shared Variablen funktioniert nicht, da sagt er immer er ignoriert die #pragma Anweisungen.

Könnt ihr mir da helfen?


Lg Tobi
Zitieren
#2
Was genau hast du denn vor? Willst du statische Daten mehrfach benutzten oder versuchst du auf diese Weise Daten zwischen den zwei Programmen auszutauschen?

Zeige mal bitte deinen Quellcode, vielleicht kann man dann eher verstehen, was du vor hast.
Welche Pidgin-Version setzt du ein?
Welches Betriebssystem?
Was sagt das Debug-Fenster?

[Bild: pidginbanner.png]
Zitieren
#3
#define SHARED __attribute__((section(".shr"), shared))
ist die Antwort.

Ja will Informationen Process extern austauschen.

Lg Tobi
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste