[C++] DLL's in C++builder met shared Mem

Pagina: 1
Acties:

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Topicstarter
Ik wil graag een DLL maken met shared Memory. Daarvoor heb ik het I-net nagezocht voor Code en dit gevonden:
code:
1
2
3
4
5
6
7
8
9
10
11
#include <vcl.h>
#pragma hdrstop

#pragma data_seg("SHARED")
#pragma data_seg()
int value = 0;
#pragma comment(linker,"-section:SHARED,rws")
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
      return 1;
}

Maar hier begint de compiler over te zeuren:
[C++ Error] Project1.cpp(8): E2047 Bad pragma directive syntax.

Regel 8 is: #pragma comment(linker,"-section:SHARED,rws")
En ik snap het niet... :(

Verwijderd

Probeer eens:
#pragma comment(linker, "/section:SHARED,RWS")

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Topicstarter
Op maandag 03 juni 2002 13:34 schreef mietje het volgende:
Probeer eens:
#pragma comment(linker, "/section:SHARED,RWS")
[C++ Error] mijndll.cpp(8): E2047 Bad pragma directive syntax.

Verwijderd

Beats me. #pragma hell altijd :(

  • Belgar
  • Registratie: Januari 2002
  • Laatst online: 17-08 22:31

Belgar

Archmaster ranzige code..

is het geen:

#pragma comment (lib,"-section:SHARED,rws")

?

ik weet niet welke versie van builder je gebruikt.

...Als het maar werkt


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Topicstarter
Op maandag 03 juni 2002 13:57 schreef Belgar het volgende:
is het geen:

#pragma comment (lib,"-section:SHARED,rws")

?

ik weet niet welke versie van builder je gebruikt.
C++Builder 4.0

ik heb nu deze code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/---------------------------------------------------------------------------
#include "mijndll.h"

#pragma data_seg("SHARED")
#pragma data_seg()
int value = 0;
#pragma comment (lib,"-section:SHARED,rws")


int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
      return 1;
}

int getValue()
{
      return value;
}
void setValue(int newValue)
{
      value = newValue;
}

Ik krijg nu deze foutmelding:
[C++ Error] mijndll.cpp(10): E2141 Declaration syntax error.
Op deze regel:
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)

Verwijderd

offtopic:
Nou zou hier een pracht van een discussie kunnen ontstaan over de ongewenstheid van shared memory in DLLs :)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Topicstarter
Op maandag 03 juni 2002 13:59 schreef Qlone het volgende:
offtopic:
Nou zou hier een pracht van een discussie kunnen ontstaan over de ongewenstheid van shared memory in DLLs :)
Nee, hoor :)
mijn schoolopdracht: maak een DLL met shared memory..


Dus dat is de gewenstheid :)

  • Belgar
  • Registratie: Januari 2002
  • Laatst online: 17-08 22:31

Belgar

Archmaster ranzige code..

functie wel 'getyped' in je header neem ik aan?

...Als het maar werkt


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Topicstarter
Inhoud van de header file:
code:
1
2
extern "C" __declspec(dllexport) int getValue();
extern "C" __declspec(dllexport) void setValue(int newValue);

  • Belgar
  • Registratie: Januari 2002
  • Laatst online: 17-08 22:31

Belgar

Archmaster ranzige code..

#include <windows.h>

mischien? en de return van dllentry is BOOL maar dat zou niet uit moeten maken

...Als het maar werkt


Verwijderd

Nee, hoor :)
mijn schoolopdracht: maak een DLL met shared memory..
Het zou verboden moeten worden mensen dit aan te leren! :P
Pagina: 1