Omni
Ultra Cool Member
- Reaction score
- 37
I havent been here for a while, but i know the people around here are intelligent (sometimes)
and at the moment im creating my own scripting language, not for anything specific though, im doing it in C++ if you like it or not, and so far ive done alot of thinking, and a bit less of actually writing code. But i know how everything will be working. except for one thing, wich is function calling
now what i wanted to do is to load DLLs, and get the functions from them, so you can use any function from any DLL (in a dll written in C, on windows that is).
so it would go like this
My scripting language:
What would be happening in C:
now the "????" would be a function pointer, but how do you figure out what its return type is, and what the parameters are?
Edit:
well of course you could define the return type and parameters in some header file, but then how do you create a function pointer with a type that would fit anything?
"anything (*FuncPointer)(anything, anything, infinite anything parameters)" wont work
and at the moment im creating my own scripting language, not for anything specific though, im doing it in C++ if you like it or not, and so far ive done alot of thinking, and a bit less of actually writing code. But i know how everything will be working. except for one thing, wich is function calling
now what i wanted to do is to load DLLs, and get the functions from them, so you can use any function from any DLL (in a dll written in C, on windows that is).
so it would go like this
My scripting language:
Code:
#include "IncludeMe.dll"
MyFunction()
What would be happening in C:
Code:
HINSTANCE lib = LoadLibrary(TEXT("IncludeMe.dll"));
if(!lib)
return 1;
???? function = (????)GetProcAddress(lib, "MyFunction");
function();
now the "????" would be a function pointer, but how do you figure out what its return type is, and what the parameters are?
Edit:
well of course you could define the return type and parameters in some header file, but then how do you create a function pointer with a type that would fit anything?
"anything (*FuncPointer)(anything, anything, infinite anything parameters)" wont work