The Go programming language
Go to file
Alex Brainman 9d7e39340d syscall: delay load of dll functions until they are called
Before this change, syscall package would load
all dlls used anywhere in the go tree on startup.
For example, this program:

package main

import "fmt"

func main() {
       fmt.Printf("Hello world\n")
}

would load these dlls

kernel32.dll
advapi32.dll
shell32.dll
wsock32.dll
ws2_32.dll
dnsapi.dll
iphlpapi.dll

Most of these dlls are network related and are not used
in this program. Now the same program loads only

kernel32.dll
shell32.dll

This decreases start times somewhat.

This also relaxes the rules of which dlls can be included
in the standard library. We could now include system calls
that are not available on all versions of Windows, because
we could decide if we should call them during runtime.

R=rsc, vcc.163
CC=golang-dev
https://golang.org/cl/4815046
2011-07-31 20:07:04 +10:00
doc go_faq: drop a dramatic comma. 2011-07-31 12:59:58 +10:00
include build: define getcallerpc in u.h (fix for Plan 9 build) 2011-07-25 13:45:44 -04:00
lib godoc: implement http.FileSystem for zip files 2011-07-19 08:22:20 -07:00
misc cgo: add GoBytes, fix gmp example 2011-07-28 12:39:50 -04:00
src syscall: delay load of dll functions until they are called 2011-07-31 20:07:04 +10:00
test gc: more graceful errors during struct definition 2011-07-28 20:41:18 -04:00
.hgignore go/build: exclude cgo test from arm 2011-06-06 09:25:30 +10:00
.hgtags tag weekly.2011-07-29 2011-07-29 15:21:24 -07:00
AUTHORS A+C: John Asmuth 2011-07-27 15:23:14 -07:00
CONTRIBUTORS CONTRIBUTORS: add Joel Sing (Google CLA) 2011-07-29 13:31:42 -04:00
favicon.ico add a favicon plus a couple of hi-res versions of gordon 2009-10-26 10:13:07 -07:00
LICENSE LICENSE: separate, change PATENTS text 2010-12-06 16:31:59 -05:00
PATENTS LICENSE: separate, change PATENTS text 2010-12-06 16:31:59 -05:00
README build: update, streamline documentation for new $GOBIN 2010-08-24 20:00:50 -04:00
robots.txt godoc: serve robots.txt raw 2011-02-19 05:46:20 +11:00

This is the source code repository for the Go programming language.  

For documentation about how to install and use Go,
visit http://golang.org/ or load doc/install.html in your web browser.

After installing Go, you can view a nicely formatted
doc/install.html by running godoc --http=:6060
and then visiting http://localhost:6060/doc/install.html.

Unless otherwise noted, the Go source files are distributed
under the BSD-style license found in the LICENSE file.

--

Binary Distribution Notes

If you have just untarred a binary Go distribution, you need to set
the environment variable $GOROOT to the full path of the go
directory (the one containing this README).  You can omit the
variable if you unpack it into /usr/local/go, or if you rebuild
from sources by running all.bash (see doc/install.html).
You should also add the Go binary directory $GOROOT/bin
to your shell's path.

For example, if you extracted the tar file into $HOME/go, you might
put the following in your .profile:

    export GOROOT=$HOME/go
    export PATH=$PATH:$GOROOT/bin

See doc/install.html for more details.