Hello,
In Go functions can be used before they are defined, but as I understand,
it's still possible to have a single pass compiler.
Thanks
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emai
Thanks, Ian.
I remember reading in some compiler book that languages should be designed
for a single pass to reduce compilation speed.
Go proves that wrong :) It's amazingly fast, looks like computers are
pretty good at traversing AST trees.
On Wednesday, February 27, 2019 at 11:50:05 PM UTC+1
Hello,
I read the following from one of the contributors:
> On Solaris (and Windows), and more recently in macOS as well we link with
libc (or equivalent).
> Go used to do raw system calls on macOS, and binaries were occasionally
broken by kernel updates. Now Go uses libc on macOS.
I just chec
Indeed, it works with Go 1.12. I have 3 different Go versions, and my
aliasing was messed up. Sorry.
> No. The Linux kernel, fortunately, supports static linking and provides
a stable syscall API. There is no reason to make this change on GNU/Linux.
Good to know, thanks. So Linux, BSD, Plan9
I know that calling C functions via cgo is relatively expensive because of
the goroutines, so there must be some optimizations/tricks to make all
these libc calls fast.
On Saturday, May 4, 2019 at 12:21:27 AM UTC+2, ivan.m...@gmail.com wrote:
>
> Indeed, it works with Go 1.12. I have 3 different
Go linker is amazing. It's the only truly cross platform linker.
Is it possible to use it to create binaries from object files compiled with
C?
For example
main.c:
int main() { puts("Hello"); return 0; }
gcc -c -o main.o main.c
go tool link main.o
main.o: not package main
--
You received t
Thanks very much. This is all very interesting.
On Sat, May 4, 2019 at 2:20 AM wrote:
> I don't have hard numbers on slowdowns. It will depend a lot on the binary
> in question.
> At the time I checked the compiler and linker and it did not slow those
> down (to the accuracy of our benchmarks).