@dlangru

Страница 669 из 719
Ievgenii
30.08.2018
15:30:03
Хм...

Выходит только структуры?

И интерфейсы идут лесом?)

NullSanya
30.08.2018
15:31:14
Вроде да

Google
Ievgenii
30.08.2018
15:31:17
Блин

NullSanya
30.08.2018
15:31:47
Используй ди с самописным рт

Ievgenii
30.08.2018
15:32:40
На самом деле мне сейчас хочется создать экземпляр класса в @nogc функции

И вот завис...

Со структурой все просто

А вот с классом...

NullSanya
30.08.2018
15:34:35
Выделяешь память нужного размера и emplace

Но в беттерС не прокатит

Ievgenii
30.08.2018
15:36:37
Мда...

NullSanya
30.08.2018
15:38:31
Ибо для эмплейса нужен TypeId

Или как он там зовется

Ievgenii
30.08.2018
15:39:12
Блин

Google
Ievgenii
30.08.2018
15:39:53
А как тогда пишут взаимодействие между компанентами, не зная о их реализации, без интерфейсов О.о

Вот сижу и что-то не въезжаю

Stepanos
30.08.2018
15:40:16
я не понимаю почему вы фапаете на этот беттерси, оно же говно. В производительность большинство никогда не упрется (сужу по джаве, которая в 2-2.5 раза медленнее D), а если упрется - значит уже успех и будут ресурсы на железо

Ievgenii
30.08.2018
15:40:29
Хочу сделать dll-ку, с функцией, в которую должен был приходить интерфейс

И сейчас не понимаю, как это переделать на структуры...

Stepanos
30.08.2018
15:41:04
не используют беттерси?))

Stepanos
30.08.2018
15:42:43
ну берешь спеку и пишешь либку-обертку, в которой разрабатьіваешь свой интерфейс)

Ievgenii
30.08.2018
15:43:07
Вот я интерфейсы навоял

А потом вспомнил, что в том же Си, классов нет)

И мои интерфейсы до жопы)

Нужны структуры

А там нет моего любимого полиморфизма(((

Та не проблема. Сейчас все выкину и напишу заново))))

NullSanya
30.08.2018
15:44:11
Напомните что такое полиморфизм

Ievgenii
30.08.2018
15:44:47
class A {} class B : A {} A b = new B()

Stepanos
30.08.2018
15:45:02
не надо структурьі) не гони

Google
Ievgenii
30.08.2018
15:45:14
Stepanos
30.08.2018
15:45:29
просто в реализации к своему интерфейсу дергай функции либки

Andrey
30.08.2018
15:45:32
Нужны структуры
а зачем структуры, в Си что, в структурах могут быть методы

Ievgenii
30.08.2018
15:46:26
Смотри, dll-ка должна спросить список каких-то сервисов у основного APP. Я планировал передавать в dll-ку некий интерфейс с методами, через который можно получать нужный тебе сервис по какому-то ключу

Ievgenii
30.08.2018
15:47:28
Вот именно

Andrey
30.08.2018
15:47:29
https://dlang.org/spec/cpp_interface.html#using_d_classes_from_cpp это не оно?

Ievgenii
30.08.2018
15:48:26
Это статическая либа

Которая линкуется вместе, как я понял

А у меня DLL, она же ничего не знает о моем APP

Andrey
30.08.2018
15:48:57
без разницы вроде ж

Ievgenii
30.08.2018
15:49:00
Или я не верно понимаю?

Ievgenii
30.08.2018
15:49:04
Хм...

Тогда нужно попробовать

Andrey
30.08.2018
15:52:17
на форуме может спросить? в подразделе leaning )

NullSanya
30.08.2018
15:52:49
Не, ну тут одна большая проблема: нет стандарта для интерфейсов

Можно сделать структуру указателей на функции

Ievgenii
30.08.2018
15:53:36
По крайне мерее я не могу дернуть произвольную функцию из dll-ки, не указывая из какой именно я дергаю

Сейчас попробую в другую сторону

Google
Ievgenii
30.08.2018
15:56:48
О!

А вот с DLL-ки я могу дернуть произвольную функцию

Ievgenii
30.08.2018
15:57:17
Тогда мне реально не нужны интерфейсы

А что мешало?
Отсутствие опыта)))

Andrey
30.08.2018
15:57:38
вроде не должно быть разницы между длл и статичиеской либой, просто способ линковки

Ievgenii
30.08.2018
15:58:04
А не со стороны приложения

Andrey
30.08.2018
15:58:21
как это со стороны длл-ки)

со стороны приложения не должно быть разницы, если правильно слинковано

Admin
ERROR: S client not available

Ievgenii
30.08.2018
15:59:06
DLL-ка может дернуть произвольную функцию из APP, а вот APP не может дернуть произвольную ф-цию из DLL-ки, без указания из какой именно DLL-ки дергать

со стороны приложения не должно быть разницы, если правильно слинковано
Оно не линкуется, а подключается на момент выполнения

Andrey
30.08.2018
15:59:45
ну да

Ievgenii
30.08.2018
16:00:09
Лады

Побежал домой

Завтра доделаю)

Denis
30.08.2018
16:16:24
Как создать экземпляр класса без GC?
Старайтесь так не делать.

Ievgenii
30.08.2018
16:16:50
Уже

Google
Pavel
30.08.2018
16:20:15
Во-первых это хобби проекты, которые ради удовольствия всегда упираются в то во что не упираются продакшены. Во-вторых если уперлось в производительность это не значит еще что пришел успех.

Например сделал ты какой-нибудь хайлоад стриминговый сервер, выложил его на гитхаб, а тебе пользователь пишет что у него тормозит на 1000 пользователей. Тут ни денег ни железа, а проблема есть.

Если так рассуждать то и D никогда не нужен, в него ничего не упирается и всегда есть более подходящий язык.

Andrey
30.08.2018
16:24:49
возможно, имлось ввиду, что GC обычно не является причиной при проблемах с производительностью... кривые руки - вероятнее)

Pavel
30.08.2018
16:27:01
Как не является когда он делает stop the world

работает у тебя приложуха все прекрасно, а потом берет и виснет на полсекунды.

Это вот как раз то во что реально часто упирается и из-за чего по сути не имеет смысла писать на D

Denis
30.08.2018
18:47:51
github.com заблочили что ли? попробуйте открыть в браузере?

у меня ни http ни ssh не проходят на него

Andrey
30.08.2018
19:04:35
да вроде норм

Ievgenii
30.08.2018
19:19:15
СМ не мешает, а только помогает!

Если не ссорить объектами - то все норм и СМ даже запускаться не будет.

Pavel
30.08.2018
19:30:31
что значит "пиши грамотно" и что значит "не сорить" ? =) Это противоречит самой идее GC

Если не сорить то тогда и классы нечего использовать.

Pavel
30.08.2018
19:35:38
Это ты сейчас как будто сказал "Не пиши на D и все нормально будет" :)

Ievgenii
30.08.2018
19:35:57
что значит "пиши грамотно" и что значит "не сорить" ? =) Это противоречит самой идее GC
Удаляй руками те объекты, которые тебе уже не нужны. Где есть возможность переиспользовать объект, это нужно делать

Ну чего

Не обязательно на Ди писать как на РНР

Pavel
30.08.2018
19:36:32
std библиотека вся из классов состоит

Страница 669 из 719