commit | 7a70f37cf6f284c1e7a21f6dec45688bd8662ae8 | [log] [tgz] |
---|---|---|
author | David Crawshaw <crawshaw@golang.org> | Mon Sep 14 20:55:15 2015 -0400 |
committer | David Crawshaw <crawshaw@golang.org> | Tue Sep 15 17:38:26 2015 +0000 |
tree | 104fceb5ca5aaab2ffd24b906eba9501a5b83cdb | |
parent | b10f681911949d393c898cef6815e8e9077c23b0 [diff] |
bind/objc: remove a constructor and retain blocks A framework generated with gomobile bind -target=ios has two global constructors: one initializing a data structure and another using it. These constructors are defined in different translation units, which (I believe, reasoning from C++ global constructors) means their order of initialization is undefined. A capturing block is stack allocated. Its memory is invalid after the function returns. Make a copy of the interface initializer blocks so they can be saved to the heap. Block implementation background: http://www.cocoawithlove.com/2009/10/how-blocks-are-implemented-and.html Updates golang/go#12590 Change-Id: Ia7ae9f4bbd8df6e6e79949de54b3e6c48148c700 Reviewed-on: https://go-review.googlesource.com/14549 Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
The Go mobile repository holds packages and build tools for using Go on mobile platforms.
Package documentation as a starting point:
The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.
This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.
Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.