
Anton
15.05.2016
20:10:13
Да именно
смысл разделяемой билиотеки не в размере
а в повторном использовании компонентов
ui библиотека всегда большая

Google

Oleksandr
15.05.2016
20:10:54
вот http://blog.ralch.com/tutorial/golang-sharing-libraries/

[Anonymous]
15.05.2016
20:11:05
короче надо смотреть например код pywin32 от python, как он тянет нативный виндовый ui
и python-cocoa помоему, как и он тянет osx ui

Anton
15.05.2016
20:11:29
Хорошая статья сохранил

[Anonymous]
15.05.2016
20:11:33
и по аналогии попробывать в go

Anton
15.05.2016
20:11:55
просто так удобно во всех языках компилируемых часто используемая тактика

[Anonymous]
15.05.2016
20:11:59
в винде связко wrapper для dll

Anton
15.05.2016
20:12:03
единый бинарник это всегда ад

Daniel
15.05.2016
20:12:17
а?

[Anonymous]
15.05.2016
20:13:04
с линем вообще жопа, там надо и KDE, и GDK+ (вроде так gnome-онский называется, не помню)
или вообще если другая DE у юзера стоит, не KDE и не GTK+, то как рисовать?
или я туплю снова?

Google

Daniel
15.05.2016
20:15:26
DE тут ни при чем
есть либа qt
есть либа gtk

Oleksandr
15.05.2016
20:16:12
варианты статики тоже интересны, особенно для встраиваемых систем

Daniel
15.05.2016
20:16:15
какую прилинкуете - такую и надо будет в зависимости пакету поставить
либы эти, насколько я помню, и не существуют в статическом виде, только в динамике
для go есть биндинги к ним
которые сами по себе влинкуются в бинарник статикой, но при запуске попытаются подгрузить динамику
я с ними дела не имел, но вроде все так
и где тут пространство для уменьшения размера - я не понимаю
это раз
два - про либы системы
go использует только libc, в том варианте, в котором он есть на target platform
всегда линкует его динамически
все остальное в go-бинарнике - не из системы, а из рантайма
который, насколько я понимаю, всегда статический

Aleksandr
15.05.2016
20:20:26

Daniel
15.05.2016
20:20:32
libc - да
так вот - статическая линковка рантайма позволяет наладить честную кроскомпиляцию и кросплатформенность

[Anonymous]
15.05.2016
20:21:29
го динамически линкует?
вот тогда же я показывал пару дней назад что Go прога не запускается на Alpine, без определенных либ в системе и libc включая

Google

[Anonymous]
15.05.2016
20:21:45
Hello, World обычный

Anton
15.05.2016
20:22:15
Либы всегда отдельные
всегда включая qt и gtk
если пишешь свое приложение, он будет юзать байдингом как разделяемую библиотку
и размер маленький будет

Daniel
15.05.2016
20:22:44
не будет

Aleksandr
15.05.2016
20:22:46
libc - да
alex@desktop:~/Go$ go get gopl.io/ch1/helloworld
alex@desktop:~/Go$ ldd bin/helloworld
не является динамическим исполняемым файлом
alex@desktop:~/Go$
как так тогда?

Daniel
15.05.2016
20:24:08
динамически!
в самом бинарнике есть код подгрузки этих либ
видимо, потому, что там есть эвристика какая-то

Oleksandr
15.05.2016
20:24:48
go build -a -buildmode=c-shared main.go
ldd main
linux-vdso.so.1 => (0x00007ffce08ef000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd663f06000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd663b41000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd664598000)

Daniel
15.05.2016
20:24:49
я не разбирася

[Anonymous]
15.05.2016
20:26:09
блин, вот как спать надо, так интересные разговоры тут

Oleksandr
15.05.2016
20:26:30
тут просто у всех разные часовые зоны

[Anonymous]
15.05.2016
20:26:41
ну это понятно)

Oleksandr
15.05.2016
20:29:18
динамическая линковка хорошо когда один свой framework и кучу прикладных рядом. чтобы одной миграцией править framework и не пересобирать все остальное

Aleksandr
15.05.2016
20:43:22

Daniel
15.05.2016
20:43:40
а?

Google

Aleksandr
15.05.2016
20:43:55
root@66d37679f4e5:/# rm -rf /lib
root@66d37679f4e5:/# bash
bash: /bin/bash: No such file or directory
root@66d37679f4e5:/# ./bin/helloworld
Hello, 世界
root@66d37679f4e5:/#
как оно работает тогда? если ему либс нужен?

Daniel
15.05.2016
20:44:55
не могу сказать

Aleksandr
15.05.2016
20:46:29
хм

Oleksandr
15.05.2016
20:51:24
оно работает потому как вызов не требует libc
попробуйте в пример занести хотя бы os.Hostname()

Aleksandr
15.05.2016
20:53:45
ну это понятно, конечно

Aleksandr
15.05.2016
21:32:58

Igor
16.05.2016
07:24:17
Ну что, кто сходил?
https://www.linux.org.ru/news/conference/12552230

Dmitry
16.05.2016
08:29:22
я сходил

Admin
ERROR: S client not available

Den
16.05.2016
08:32:09

Dmitry
16.05.2016
08:38:41
обещали, но хз когда

Sergey
16.05.2016
08:47:30
было чё интересного?

Nik
16.05.2016
09:11:57
Да, да, расссказывай, а то я тоже не попал

Dmitry
16.05.2016
09:13:30
первый доклад был интересный, но перегруженный инфой
про профилирование
для него нужно было конспект приготовить, чтобы успевать за полетом мысли докладчика
второй доклад веселый и заводной, много инфы про подводные камни, с которыми сталкиваешься при проектировании высоконагруженного сервиса на примере реального сервиса, работающего в продакшене
а потом я свалил
была халявная хавка

Google

Dmitry
16.05.2016
09:19:05
самое важное

Daniel
16.05.2016
09:34:59
читаю “была халяльная хавка”. смотрю на имя Dmitry Dorofeev. размышляю…

Dan
16.05.2016
09:38:43
в такие минуты хочется немножко захватить польшу

Aleserche
16.05.2016
09:42:31
почему?

Igor
16.05.2016
09:45:26
ладно, тогда ждём запись.

Чай С Лимоном
16.05.2016
09:59:40
ребят, а в атоме можно рефакторить go код
?

Daniel
16.05.2016
10:00:01
атом - говно. извините.

Чай С Лимоном
16.05.2016
10:01:52
ну у каждого есть право на свое мнение)
мне норм
только рефакторинг не могу найти

ENAMETOOLONG
16.05.2016
10:05:06

Daniel
16.05.2016
10:06:12

ENAMETOOLONG
16.05.2016
10:06:38

Roman
16.05.2016
10:07:27

Daniel
16.05.2016
10:08:01
все, что я пишу - я пишу во встроенном редакторе FAR
просто потому, что никак не могу заменить одни шорткаты в пальцах на другие
отдает ламерством, но уж как есть

ENAMETOOLONG
16.05.2016
10:09:23
У тебя DOS что ли стоит?

Daniel
16.05.2016
10:09:37
у меня макос, в нем виртуалка с xp

ENAMETOOLONG
16.05.2016
10:09:41
ты о Far Manager?