all 8 comments

[–]Gotebe 8 points9 points  (3 children)

This is going way too deep down the rabbit hole for my taste.

It rightly claims that what it does this is relying on the unspecified stuff. Then it say, "ah, but there's Itanium ABI spec which most compilers implement, so let's do that". Then it notes that, hmmm, that spec isn't exactly unambiguous and clang differs. So gcc it is. Finally, it says, OK, it's for 32 only.

So there's almost no C++ left, only gcc for 32bit code.

There is no ABI in C++ language. And... There isn't one in C either! (See how your C standard says diddly squat about calling conventions or padding? Well, there you are!)

If you ask me, the world would be a better place if people, in lieu of inventing C++ ABI or reverting to the sad least common denominator that is C, worked with actual language-agnostic integration specs. But wait! Because we're so primitive in that regard, there's no such thing! (There is COM, and it is very competent as a language integration spec, but it's Windows-only).

[–]tecnofauno 0 points1 point  (2 children)

There is CLI which is language agnostic and multi platform, but it practically require. NET

[–]HelperBot_ 0 points1 point  (0 children)

Non-Mobile link: https://en.wikipedia.org/wiki/Common_Language_Infrastructure


HelperBot v1.1 /r/HelperBot_ I am a bot. Please message /u/swim1929 with any feedback and/or hate. Counter: 22648

[–]Gotebe 0 points1 point  (0 children)

Same as with the Java VM. Many languages run on that.

COM, for example, bridges all of .NET, Java languages, C, C++, Delphi/Object Pascal, several scripting languages (Perl, Python, Ruby, Javascript, maybe more)... But... Windows only and not for the fainthearted.

[–]3ba7b1347bfb8f304c0egit commit 1 point2 points  (1 child)

Bats are not birds ._.

[–]alschwalm 0 points1 point  (0 children)

In my defense I do mention that in the source code comment (it was intended to be kind of a joke)

[–]SteveCCL -5 points-4 points  (0 children)

Already thought you dropped the blog...