mirror of https://github.com/cbeuw/Cloak
24 lines
504 B
Go
24 lines
504 B
Go
//go:build external_main
|
|
// +build external_main
|
|
|
|
package main
|
|
|
|
import (
|
|
"os"
|
|
"C"
|
|
"unsafe"
|
|
)
|
|
|
|
//export external_main
|
|
func external_main(argc C.int, argv **C.char) {
|
|
var offset = unsafe.Sizeof(uintptr(0))
|
|
var go_argv []string
|
|
for i := 0; i < int(argc); i++ {
|
|
go_argv = append(go_argv, C.GoString(*argv))
|
|
argv = (**C.char)(unsafe.Pointer(uintptr(unsafe.Pointer(argv)) + offset))
|
|
}
|
|
|
|
os.Args = go_argv
|
|
main()
|
|
}
|