logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git
commit: 2183a3c30cc9c306bae24bbede252bafccd0c826
parent b945364cb7064764ba49fd833b640fb9539d9e6d
Author: Drew DeVault <sir@cmpwn.com>
Date:   Fri, 20 May 2022 11:40:45 +0200

Abiopause: correct error

Thanks w1ke!

Diffstat:

Mcontent/blog/Abiopause.md2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/Abiopause.md b/content/blog/Abiopause.md @@ -64,7 +64,7 @@ language from $X, naturally has different semantics. The particular semantics of C don't necessarily line up to the semantics the language designers want $X to have, so the typical solution is to define functions with C "linkage", which means they're called with the C ABI. It's from this that we get keywords like -`extern "C"` (C++, Rust), `export` in Go, `[DllImport]` in C#, and so on. +`extern "C"` (C++, Rust), Go's Cgo tooling, `[DllImport]` in C#, and so on. Naturally, these keywords come with a lot of constraints on how the function works, limiting the user to the mutually compatible subset of the two ABIs, or else using some kind of translation layer.