@proGO

Страница 105 из 1674
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
единый бинарник это всегда ад
не всегда, а если у кого то например линух старый стоит и либы которые нужны проге API другие

с линем вообще жопа, там надо и 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
я не разбирася

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)
да, именно, начиная с 1.5 можно собирать динамически линкованный бинарник. но на размер это не влияет. то, что мы тут видим, и так подгружалось динамически

[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
А что мешает рефакторить? Линтеры есть?
он или умеет пройтись по проекту, и заменить, к примеру, имя метода, или нет.

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?

Страница 105 из 1674