Browse Source

Update UsersManual.md

pull/1612/head
João Matos 5 years ago committed by GitHub
parent
commit
359cc90a49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 37
      docs/UsersManual.md

37
docs/UsersManual.md

@ -23,17 +23,40 @@ SWIG. So how is it different from SWIG?
* Strongly-typed customization APIs * Strongly-typed customization APIs
* Can be used as a library * Can be used as a library
# 2. Targets # 2. Generator Backends
The backend of the generator is abstracted and it can target different .NET The backend of the bindings generator is abstracted and can support several different targets.
binding technologies:
It can be changed by using the `Options.GeneratorKind` option.
For .NET we support these bindings technologies:
- C# (P/Invoke) - C# (P/Invoke)
- C++/CLI - C++/CLI
We have recently introduced an option which makes Clang look up MSVC headers. There is also experimental support for these JavaScript-related targets:
If it works well, we're going to make it the default in our next release.
Its only disadvantage is the ability to select a specific version of MSVC. - N-API (Node.js)
- QuickJS
- TypeScript
# 3. Native Targets
The parser supports several different targets and needs to be correctly configured to match the compiled native code.
This can be done by using the `ParserOptions.TargetTriple` option.
These triples follow the same format as LLVM/Clang, which is documented [here](https://clang.llvm.org/docs/CrossCompilation.html#target-triple).
Here are a few examples for the most common variants:
- `i686-pc-win32-msvc`
- `x86_64-pc-win32-msvc`
- `i686-linux-gnu`
- `x86_64-linux-gnu`
- `i686-apple-darwin`
- `x86_64-apple-darwin`
# 3. C/C++ language features # 3. C/C++ language features
@ -449,4 +472,4 @@ class __declspec(dllexport) ExposedClass
{ {
// class definition // class definition
} }
``` ```

Loading…
Cancel
Save