Skip to content

Commit 00a7774

Browse files
linter
1 parent ef3a9a9 commit 00a7774

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

docs/standard/native-interop/abi-support.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@ ms.date: 10/25/2024
99

1010
| | Support | APIs |
1111
|---|---------|----------------|
12-
| **C** | ✔️ | <xref:System.Runtime.InteropServices.LibraryImportAttribute> <xref:System.Runtime.InteropServices.DllImportAttribute> |
13-
| **C++** | [Note][cpp] | |
14-
| **COM and `IUnknown`** | ✔️ | <xref:System.Runtime.InteropServices.ComWrappers> <xref:System.Runtime.InteropServices.Marshalling.GeneratedComInterfaceAttribute> <xref:System.Runtime.InteropServices.Marshalling.GeneratedComClassAttribute> |
15-
| **Swift** | ✔️ | <xref:System.Runtime.InteropServices.Swift> namespace |
16-
| **Objective-C** | ✔️ | <xref:System.Runtime.InteropServices.ObjectiveC> namespace |
17-
| **golang** | [Note][golang] | |
18-
| **ARM64EC** | [Note][arm64ec] | |
12+
| **C** | ✔️ | <xref:System.Runtime.InteropServices.LibraryImportAttribute> <xref:System.Runtime.InteropServices.DllImportAttribute> |
13+
| **C++** | [Note](#cpp) | |
14+
| **COM and `IUnknown`** | ✔️ | <xref:System.Runtime.InteropServices.ComWrappers> <xref:System.Runtime.InteropServices.Marshalling.GeneratedComInterfaceAttribute> <xref:System.Runtime.InteropServices.Marshalling.GeneratedComClassAttribute> |
15+
| **Swift** | ✔️ | <xref:System.Runtime.InteropServices.Swift> namespace |
16+
| **Objective-C** | ✔️ | <xref:System.Runtime.InteropServices.ObjectiveC> namespace |
17+
| **golang** | [Note](#golang) | |
18+
| **ARM64EC** | [Note](#arm64ec) | |
1919

20-
## C++ <a name="cpp"></a>
20+
## <a name="cpp"></a> C++
2121

2222
The [C++ language](https://isocpp.org/) has no defined ABI across all .NET supported platforms and C++ compiler implementations (that is, MSVC, clang, and GCC). This lack of a stable ABI makes support difficult to provide. The recommended way to interoperate with C++ is to export functions marked with `extern "C"` and then call them as C functions.
2323

24-
## golang <a name="golang"></a>
24+
## <a name="golang"></a> golang
2525

2626
The Go programming language is not supported for in-process interoperability. The Go runtime [imposes requirements](https://pkg.go.dev/os/signal#hdr-Non_Go_programs_that_call_Go_code) on being hosted in a process with another run time. Specifically, the use of the `SA_ONSTACK` flag on threads that run signal handlers. These requirements are not currently met by .NET and meeting them would impose non-trivial costs.
2727

28-
## ARM64EC <a name="arm64ec"></a>
28+
## <a name="arm64ec"></a> ARM64EC
2929

30-
The [ARM64EC](https://learn.microsoft.com/cpp/build/arm64ec-windows-abi-conventions) ABI is not supported.
30+
The [ARM64EC](https://learn.microsoft.com/cpp/build/arm64ec-windows-abi-conventions) ABI is not supported.

0 commit comments

Comments
 (0)