Ender
Вот в сипп как раз таки подобные фундаментальные проблемы я решал массивами указателей на воид например. А так же можно (но нужно ли) для всего чего тебе нужно делать обертки, которые будут наследовать один супер-класс, и делать массив элементов этого класса.
Ender
А вообще есть такая тема как union. Может быть она чуваку и нужна была.
Ender
В шараге наверняка учат ей пользоваться, меня в универе не учили.
Evgeniy
Всем привет. Ребят, Вы писали extection для PHP? Где можно по этому процессу почитать? Спасибо!
Anton
Эдвард
Что интересного есть почитать про плюсы кроме серии effective c++,effective stl и стандарта?
Ender
Сиплюсплюс за 24 часа
Berkus
Anonymous
Berkus
Ender
Evgeniy
Evgeniy
Anonymous
Ищу алгоритм сжатия, обладающий относительной высокой степенью сжатия и быстрой скоростью распаковки. Время сжатия значения не имеет.
Anonymous
Мне надо чтоб скорость распаковки была выше, чем "в любом практически" =) Т.е. какой-нибудь специально заточенный под реактивную распаковку может есть
Stanislav
Matwey
А что за данные?
Anonymous
А что за данные?
И текст(css) и обычный бинарные данные(шрифты(woff, eot)), и картинки. В общем-то все данные от веб страницы
Текста меньше всего будет, больше размера на картинки и шрифты приходится
Anonymous
Ещё Brotli вспомнился мне. Может он норм будет
Stanislav
Matwey
Писать в сеть будет
Anonymous
Можно писать в tmpfs, на ОЗУ
Anonymous
А результат уже на диск
Matwey
По 400-гигабитном ethernet-у
Matwey
@MasterZiv а если писать в /dev/null?
Anonymous
Эх, опять срач....
Крылатый
раСпаковку*
Matwey
А если сократить и ЗАПАКОВКУ, то будет еще больше!
Anonymous
Как я понимаю, brotli - прямой конкурент zstd
Anonymous
Хотя вроде zstd будет лучше для моих целей - надо тестить
Stanislav
для сжатия ресурсов игры zstd встречал только в играх на frostbite, а lz4 дофига кто использует
Anonymous
Anonymous
У lz4 скорость распаковки в 3 раза выше, судя по этому графику https://github.com/facebook/zstd
Anonymous
Mass Effect:Andromeda использует zstd также
Stanislav
а если есть много денег)
http://www.radgametools.com/images/oodle_typical_vbar.png
Крылатый
Крылатый
То-то игоры стали по 100 гигов весить.
Stanislav
Крылатый
Да я ж шуткую)
Anonymous
Stanislav
Anonymous
угу
Anonymous
Anonymous
вот там точно без выебонов
Max
Anonymous
да любой)
Berkus
А Вы писали?)
писал, потом понял что нахуй такие развлечения
Berkus
Berkus
struct Node<'a,T> {
data: T,
prev: Cell<Option<&'a Node<'a, T>>>,
next: Cell<Option<&'a Node<'a, T>>>
}
если кому-то двухсвязные списки на плюсах казались сложными
Evgeniy
Stanislav
Maxim
ребята, есть класс в c# dll, есть либа, которую делаю сам. как сконнектить мою либу и класс в dll. Класс Point точка. Как сделать, чтобы функция из моего класса с++ длл расстояние между точками, и класс поинт в c# либе подхватил мою функцию.
Maxim
double S = Math.Sqrt((P2.X - P1.X) * (P2.X - P1.X) + (P2.Y - P1.Y) * (P2.Y - P1.Y));
Maxim
через структуру не удается передать
Maxim
5 минут скину все
🐙 Antony
Maxim
С++ без CLI
Maxim
сейчас, дописываю вопрос
Anonymous
/stat@combot
Maxim
Есть класс в c# dll, я его никак не могу изменить, могу работать с ним из шарпа, в этом случае проблем нет и все проще намного. Но нужно из с++.
Сам класс из c# dll:
Public class Point
{
public double X;
public double Y;
public double Z;
public Point();
public Point(Point Point);
public Point(double X, double Y);
public Point(double X, double Y, double Z);
еще код, но он мне неинтересен
}
Используя функции extern "C" {
TRADITIONALDLL_API double GetDistance(Location, Location);
} проще, но у меня класс и получить результат я могу только так: double S = Math.Sqrt((P2.X - P1.X) * (P2.X - P1.X) + (P2.Y - P1.Y) * (P2.Y - P1.Y));
Вот статья, но тут используется структура https://docs.microsoft.com/en-us/cpp/dotnet/how-to-marshal-structures-using-pinvoke
делая структуру в с++ dll, вызываю ее в шарпе так:
struct TraditionalDLL
{
[DllImport("TraditionalDLL3.dll")]
public static extern double dist(Point p1, Point p2);
}
потом double S = TraditionalDLL.dist(P1, P2);
но это не работает, ошибка
Square
Есть класс в c# dll, я его никак не могу изменить, могу работать с ним из шарпа, в этом случае проблем нет и все проще намного. Но нужно из с++.
Сам класс из c# dll:
Public class Point
{
public double X;
public double Y;
public double Z;
public Point();
public Point(Point Point);
public Point(double X, double Y);
public Point(double X, double Y, double Z);
еще код, но он мне неинтересен
}
Используя функции extern "C" {
TRADITIONALDLL_API double GetDistance(Location, Location);
} проще, но у меня класс и получить результат я могу только так: double S = Math.Sqrt((P2.X - P1.X) * (P2.X - P1.X) + (P2.Y - P1.Y) * (P2.Y - P1.Y));
Вот статья, но тут используется структура https://docs.microsoft.com/en-us/cpp/dotnet/how-to-marshal-structures-using-pinvoke
делая структуру в с++ dll, вызываю ее в шарпе так:
struct TraditionalDLL
{
[DllImport("TraditionalDLL3.dll")]
public static extern double dist(Point p1, Point p2);
}
потом double S = TraditionalDLL.dist(P1, P2);
но это не работает, ошибка
покажи что экспортуирует dll на плюсах
B
можно применить частичные специализации
B
там для целых и дробных разные реализации
B
template <typename T>
void f(T t);
template<>
f<double>(double t) {
// реализация для double
}
ну и тд
kitsu
можно просто не указывать определение
B
+
Maxim
покажи что экспортуирует dll на плюсах
в том и вопрос, делаю экспорт строуктуры. Я не точно сформулировал вопрос, одн должен звучать так: что нужно экспортировать, чтобы добавить метод к существующему в шарпе классу. Нужно переписать класс на плюсы? и сделать уже там необходимый метод?
Square
Maxim
никак? )
Maxim
шарп читается просто, думал таким образом защитить