example:

-------------------------------------------------
main.cpp

#include <stdio.h>
#include <windows.h>

extern "C" __declspec(dllimport) void xxx(char *str, ...);
extern "C" __declspec(dllimport) char *zzz;

int WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR szCmdLine, int)
{
  xxx("blahblah\n", 1, 2, 3);
  printf(zzz);
  return 0;
}
---------------------------------------------------

mylib.cpp

#include <stdio.h>
#include <windows.h>

extern "C" __declspec(dllexport) void xxx(char *str, ...);
char zzz[80];

void xxx(char *str, ...)
{
  printf(str);
  lstrcpy(zzz, "12345\n");
  printf(zzz);
}
----------------------------------------------------

mylib.dll.spec

@ varargs xxx(str)
@ extern zzz
-----------------------------------------------------

mylib.cpp compiled successfully in mylib.dll.so
main.cpp compiler error: undefined reference to `zzz'

What I do wrong ???
How to export variables ???

And another question: how can i export functions such as ClassName::Function();




Reply via email to