Reason:
Regarding the work of the library's wapper (binding), Human maintain is very inefficient
This prevents us from fully using the native ecology of C/C++. Even though many projects have manpower for porting works.But it is difficult to sustain in the long run. This price is too high.
We need a grammar tool similar to the following. Automate these tedious things.
namesapce XXXApi{
using extern(C) "xxx.h"
using extern(C++) "yyy.h"
using lib("xxx.lib") //or "xxx.so"
using lib("yyy.dll") //or "yyy.a"
}
and the ide automatic generate the port(Wapper) code
and then we can direct use:
class ApiTest
{
void TestSomeNative()
{
var str=string.empty;
int val=123;
XXXApi.SomeFunction(str,val,....); //call the function defined in xxx.h
new XXXApi.SomeClass(?...);// create some class/struct instance defined in yyy.h
}
}
Reason: Regarding the work of the library's wapper (binding), Human maintain is very inefficient This prevents us from fully using the native ecology of C/C++. Even though many projects have manpower for porting works.But it is difficult to sustain in the long run. This price is too high.
We need a grammar tool similar to the following. Automate these tedious things.
and the ide automatic generate the port(Wapper) code and then we can direct use: