1. Я свеже установил, в Mint 18.1 оба варианта GCC Go и Golang (система свежая, установка новая, чистая)... см. здесь.perseus писал(а): а при анализе файлов собранных им выдаются ссылки на библиотеки Линукс:Код: Выделить всё
maksim@maksim-MS-7519 ~/Progy/Go/src/hellodb $ ls hellodb hellodb.go outputDB outputUsr maksim@maksim-MS-7519 ~/Progy/Go/src/hellodb $ ldd hellodb linux-gate.so.1 => (0xb7745000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb770b000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb755c000) /lib/ld-linux.so.2 (0xb7746000)
2. Взял элементарное приложение, из старых залежалых... hello.go:
Код: Выделить всё
package main
import ( "fmt"
"os" )
func main(){
fmt.Println( "ты кто будешь?" )
fmt.Printf( "> " )
буфер := make( [] byte, 120 )
длина, _ := os.Stdin.Read( буфер ) // возвращается 2 значения
Ω := длина
ответ := string( буфер[ : Ω - 1 ] ) // убрали '\n'
fmt.Printf( "какое длинное имя ... целых %d байт\n", Ω )
fmt.Printf( "привет, %s\n", ответ )
}
Код: Выделить всё
olej@nvidia ~/2017_WORK/own.WORK/Go $ gccgo hello.go -o hello
olej@nvidia ~/2017_WORK/own.WORK/Go $ go build -o hello.gl hello.go
olej@nvidia ~/2017_WORK/own.WORK/Go $ ls -l
итого 2280
-rwxr-xr-x 1 olej olej 34040 май 12 19:16 hello
-rwxr-xr-x 1 olej olej 2292968 май 12 19:26 hello.gl
-rw-r--r-- 1 olej olej 601 авг 10 2014 hello.go
4. Сравниваем:
Код: Выделить всё
olej@nvidia ~/2017_WORK/own.WORK/Go $ ldd hello
linux-vdso.so.1 => (0x00007fff2f960000)
libgo.so.9 => /usr/lib/x86_64-linux-gnu/libgo.so.9 (0x00007f39d0d95000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f39d0b7f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f39d07b5000)
/lib64/ld-linux-x86-64.so.2 (0x0000561b4ae26000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f39d0598000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f39d028f000)
Код: Выделить всё
olej@nvidia ~/2017_WORK/own.WORK/Go $ ldd hello.gl
не является динамическим исполняемым файлом
olej@nvidia ~/2017_WORK/own.WORK/Go $ file hello.gl
hello.gl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
5. Выполняем/проверяем:
Код: Выделить всё
olej@nvidia ~/2017_WORK/own.WORK/Go $ ./hello.gl
ты кто будешь?
> вася
какое длинное имя ... целых 9 байт
привет, вася