Открытое соревнование по программированию искусственного интеллекта

Языковые пакеты

Проект

Песочница

Раунд 1

Раунд 2

Финал

Последние комментарии

6 сентября 14:37: snow_shadaw написал комментарий в посте Закрытие Russian AI Cup 2018
1 сентября 19:55: cheeser написал комментарий в посте Закрытие Russian AI Cup 2018
29 августа 11:25: snow_shadaw написал комментарий в посте Закрытие Russian AI Cup 2018
28 августа 22:00: AXLL написал комментарий в посте Песочница
28 августа 22:00: AXLL написал комментарий в посте Песочница
28 августа 21:58: AXLL написал комментарий в посте Песочница
28 августа 21:57: AXLL написал комментарий в посте Песочница
3 августа 16:43: NoobSaibot написал комментарий в посте Закрытие Russian AI Cup 2018
19 февраля 23:14: karloid написал комментарий в посте Закрытие Russian AI Cup 2018
19 февраля 13:38: tyamgin написал комментарий в посте Закрытие Russian AI Cup 2018

Группа ВКонтакте

Telegram-чат

 

Для написания собственной стратегии для CodeBall опубликованы языковые пакеты. На данный момент мы поддерживаем языки:

Язык Версия компилятора Ссылки
C++17 GNU C++ 8.2 скачать
Java Open JDK 1.8 скачать
C# .NET Core 2.1 скачать
Python3 Python 3.7.1 скачать
Ruby Ruby 2.5.3 скачать
Kotlin Kotlin 1.3.11 скачать
Rust Rust 1.31 (2018 edition) скачать
F# F# download
Scala Scala download
JavaScript Node 11.5.0 download

Также пакеты доступны на GitHub.

Каждый языковой пакет содержит в себе набор моделей (Robot, Player и т.д.), класс MyStrategy, в котором вы пишете логику своей стратегии, а также файлы Runner.* и RemoteProcessClient.*, необходимые соответственно для запуска процесса стратегии и обмена данными с процессом игры.



GoodDalek

GoodDalek

АлтГУ

Для сишников надо инструкцию (для Visual Studio): 1. Подключить в проект все исходные файлы пакета 2. Подключить только 4 заголовочных файла корневой папки 3. В свойствах проекта linker (компоновщик) -> input (ввод) -> additional dependencies (дополнительные зависимости) добавить ws2_32.lib

17.12.2018 8:07:39
DevKirill

DevKirill

УрФУ

Раньше в пакетах у полей было описание из правил

17.12.2018 9:10:31
GS

GS

Тюмень

А где же поддержка FreePascal?

17.12.2018 11:54:28
m4shell

Можно ли добавить Python2? В быстром старте он заявлен, а тут отсутствует…

17.12.2018 14:21:55
andrey.chernov

andrey.chernov

Сергиев Посад

А можно пример на руби? :)

17.12.2018 18:04:11
obabichev

obabichev

МФТИ

Попытался запустить языковой пакет с c++, но наткнулся на несколько проблем, возможно я просто не нашел инструкции, но я вроде все разделы уже обошел, в основной документации тоже ничего про это нет. - В пакете отсутствует система сборки проекта, ни make-файла, ни cmake-файла в архиве нет, проектной папки для idea тоже нет, как следствие ide ничего не подтягивает и собрать проект не может. - Нет инструкции по запуску собранного файла (пока скрипты ругаются просто на отсутствие файла output/MyStrategy) в предположении, что я его таки собрал. Я догадываюсь, что это надо делать в докере, но докеры собирать мне не приходилось, как следствие - это боль. docker build и docker run я осилил, контейнер создался, но дальше ничего не происходит….

17.12.2018 22:08:53
pandafas

pandafas

Минск

Языковой пакет С++, (дома винда 10ка и vs2017). Локально сбилдил (пару часов помучавшись перед этим), Сделал смартгая (перенёс с растовского примера), даже локалраннером запустился, игрок один побежал и забил гол. Залил версию на сервер, её приняли, но во время игры игроки тупо стоят… Что-то не так с плюсами на сервере?

18.12.2018 2:16:15
Adler

Adler

Дзержинск

pandafas

pandafas

Минск

Языковой пакет С++, (дома винда 10ка и vs2017). Локально сбилдил (пару часов помучавшись перед этим), Сделал смартгая (перенёс с растовского примера), даже локалраннером запустился, игрок один побежал и забил гол. Залил версию на сервер, её приняли, но во время игры игроки тупо стоят… Что-то не так с плюсами на сервере?

если бы с С++ пакетом было что-то не так, то все стратегии на с++ были бы ниже середины топа

18.12.2018 2:49:24
MikeWazowski

MikeWazowski

Москва

Open JDK 1.8 - это наверно linux’овый java-1.8.0-openjdk ? Для win10 берем Oracle JDK 11.0.1 или будут другие рекомендации ?

18.12.2018 10:43:46
Scarlet
Adler

Adler

Дзержинск

если бы с С++ пакетом было что-то не так, то все стратегии на с++ были бы ниже середины топа

Вообще-то первая стратегия на плюсах, аж на 47 месте. И у меня такая же проблема - перенёс стратегию из квик старта, заливаю на сайт, а роботы большей частью стоят, хотя есть несколько игр, где они реально играют. Даже стравливал две одинаковые - с одной стороны стоят, с другой играют. Так что есть где-то какой-то подвох… (кривые руки?) Сегодня такая же стратегия (с парой изменённых констант) уже не проходит верификацию.

18.12.2018 11:03:27
ardt2

А нельзя ли для C++ сделать структуру(или класс), содержащую эти поля, отдельно и производить структуры Robot и Ball от неё?

structure Entity {
    double x;
    double y;
    double z;
    double velocity_x;
    double velocity_y;
    double velocity_z;
    double radius;
}
structure Ball : public virtual Entity { };     structure Robot : public virtual Entity { }

18.12.2018 12:03:11
AlexKol

А нельзя ли для C++ сделать структуру(или класс), содержащую эти поля, отдельно и производить структуры Robot и Ball от неё? structure Entity { double x; double y; double z; double velocity_x; double velocity_y; double velocity_z; double radius; } structure Ball : public virtual Entity { }; structure Robot : public virtual Entity { }

Переопределите свои объекты и всё.

18.12.2018 12:14:41
ardt2

Переопределите свои объекты и всё.

Да я-то всё могу, но так было бы удобнее )) Не надо было бы писать свои конструкторы преобразования для Ball, Robot, Nitro, например. И вообще, глупо выглядит дублирование полей в классах в С++ 17

18.12.2018 12:21:26
AlexKol

Да я-то всё могу, но так было бы удобнее )) Не надо было бы писать свои конструкторы преобразования для Ball, Robot, Nitro, например. И вообще, глупо выглядит дублирование полей в классах в С++ 17

А ты работал на реальных проектах, с реальными сторонними библиотеками?))) Всем не угодишь

18.12.2018 12:32:37
ardt2

А ты работал на реальных проектах, с реальными сторонними библиотеками?))) Всем не угодишь

Работал, поэтому и печаль. А здесь, естественно было бы попросить так сделать, чтобы не писать операторы присваивания для каждого класса отдельно, например. И вообще, надо продвигать хорошие практики. Здесь проект маленький, но всё равно, когда пишешь

class MyRobot : public Vector3 {};

потом

class MyStrategy : public Strategy, public MyRobot {};

потом

class MyNitro :  public Vector3 {}

то хочется перенести “public Vector3” в базовый класс Unit, например

Так и здесь, приходится писать отдельно операторы присваивания и преобразования для всех структур отдельно. Это и в Си с классами тов. Страуструпа бы смотрелось глупо. (

18.12.2018 12:44:06
AlexKol

Работал, поэтому и печаль. А здесь, естественно было бы попросить так сделать, чтобы не писать операторы присваивания для каждого класса отдельно, например. И вообще, надо продвигать хорошие практики. Здесь проект маленький, но всё равно, когда пишешь class MyRobot : public Vector3 {}; потом …

Я пока даже стратегию не думал, пока всё привел в красивый вид.

18.12.2018 12:46:18
ardt2

Я пока даже стратегию не думал, пока всё привел в красивый вид.

Да. ( Но вот так грустно дублировать.

    // --------------------------------------------------
    virtual Vector3& operator = (const Robot& r)
    {
       X = (float)r.x; Y = (float)r.y; Z = (float)r.z;
       return *this;
    }
    // --------------------------------------------------
    virtual Vector3& operator = (const Ball& r)
    {
       X = (float)r.x; Y = (float)r.y; Z = (float)r.z;
       return *this;
    }

18.12.2018 12:52:00
Ne0

Вообще-то первая стратегия на плюсах, аж на 47 месте. И у меня такая же проблема - перенёс стратегию из квик старта, заливаю на сайт, а роботы большей частью стоят, хотя есть несколько игр, где они реально играют. Даже стравливал две одинаковые - с одной стороны стоят, с другой играют. Так что есть где-то какой-то подвох… (кривые руки?) Сегодня такая же стратегия (с парой изменённых констант) уже не проходит верификацию.

Ruby роботы тоже стоят неподвижно, хотя в локал раннере все ок бегает. Правда как я посмотрю руби тут не очень популярен)

18.12.2018 13:42:05
imsohate

imsohate

Санкт-Петербург

поддержка numpy для python планируется или ее точно не будет?

18.12.2018 15:18:01
alkozel

alkozel

Калужский филиал ГУ СДА при Спецстрое России

А константы из правил, нужно ручками присваивать? И отслеживать их изменение?

18.12.2018 15:55:17
httpps

httpps

Каменск-Уральский

Ne0

Ne0

Ruby роботы тоже стоят неподвижно, хотя в локал раннере все ок бегает. Правда как я посмотрю руби тут не очень популярен)

Аналогичная проблема на Ruby, в локал ранере все отлично работает за обе стороны, на сайте - стоят на месте

18.12.2018 17:12:23
Counterbalance

Counterbalance

Нидерланды

In C++, is it true that I cannot modify Runner.cpp and Strategy.h? I would like Runner.cpp to work like this:

void Runner::run() { 
    ....
    while ((game = remoteProcessClient.read_game()) != nullptr)
         remoteProcessClient.write( strategy->calc(*rules, *game) );
}

I want to do 1 calculation for all robots at the same time. The only possible way seems to be to do that calculation when strategy->act is called for the first time in a tick, using a hack like this:

void MyStrategy::act(const Robot& me, const Rules& rules, const Game& game, Action& action) {
    int firstid = -1;
    for (const Robot& robot : game.robots) if (robot.is_teammate) { firstid = robot.id; break; }
    if (me.id == firstid) commands = calc(rules, game);
    action = commands[me.id];
}

18.12.2018 18:22:37
ardt2
Counterbalance

Counterbalance

Нидерланды

In C++, is it true that I cannot modify Runner.cpp and Strategy.h? I would like Runner.cpp to work like this: void Runner::run() { …. while ((game = remoteProcessClient.read_game()) != nullptr) remoteProcessClient.write( strategy->calc(*rules, *game) ); } I want to do 1 calculation for all robots at the same time. The only possible way seems to be to do that calculation when …

First, it’s true. Server will ignore mods to The Runner.

Second, it’s a known puzzle. )) And it has got a very simple solution. I’d believe you’ll find it and thus do not want to spoil.

18.12.2018 18:57:35
ardt2
Counterbalance

Counterbalance

Нидерланды

In C++, is it true that I cannot modify Runner.cpp and Strategy.h? I would like Runner.cpp to work like this: void Runner::run() { …. while ((game = remoteProcessClient.read_game()) != nullptr) remoteProcessClient.write( strategy->calc(*rules, *game) ); } I want to do 1 calculation for all robots at the same time. The only possible way seems to be to do that calculation when …

If it will be frustrating and nessesary, thought, I’ll give the solution. )

18.12.2018 19:04:27
Dimon777

Dimon777

?? ????

alkozel

alkozel

Калужский филиал ГУ СДА при Спецстрое России

А константы из правил, нужно ручками присваивать? И отслеживать их изменение?

Тоже интересует данный вопрос…

18.12.2018 21:24:13
olsh

olsh

Архангельск

Включите пожалуйста для C# версию языка 7.3

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <LangVersion>7.3</LangVersion>
  </PropertyGroup>

18.12.2018 21:28:15
alkozel

alkozel

Калужский филиал ГУ СДА при Спецстрое России

Изучаю пример из “Быстрого старта”. Rust не видел до сего момента. Изучаю Java, не пойму как реализовали интерфейс impl Entity for Robot. Это возможно потому что движок на Rust? Правильно ли я понимаю, что на Java такая реализация не получится без создания собственного класса?

18.12.2018 21:42:30
awesoon

awesoon

ONER

alkozel

alkozel

Калужский филиал ГУ СДА при Спецстрое России

Изучаю пример из “Быстрого старта”. Rust не видел до сего момента. Изучаю Java, не пойму как реализовали интерфейс impl Entity for Robot. Это возможно потому что движок на Rust? Правильно ли я понимаю, что на Java такая реализация не получится без создания собственного класса?

Нет, дело не в движке, просто в Rust так работают trait - их реализуют не меняя сам класс. В джаве такое сделать не получится, но поскольку тут всего 2 класса реализующие этот trait, можно обойтись малой кровью добавив перегруженные статические методы во внешний класс.

18.12.2018 23:28:24
KKH

KKH

Химки

Не понятно во что собирать C++ проект. В OBJ файл ? И куда его потом подсовывать ? Скачал себе codeball2018-windows/codeball2018.exe Куда и что подкладывать к этому симулятору ?

19.12.2018 1:43:14
6eJIa9IzZzTeHb

У кого-то есть идеи, как запустить С++ через компилятор без докера?

19.12.2018 2:19:38
6eJIa9IzZzTeHb
GoodDalek

GoodDalek

АлтГУ

Для сишников надо инструкцию (для Visual Studio): 1. Подключить в проект все исходные файлы пакета 2. Подключить только 4 заголовочных файла корневой папки 3. В свойствах проекта linker (компоновщик) -> input (ввод) -> additional dependencies (дополнительные зависимости) добавить ws2_32.lib

Спасибо

19.12.2018 2:22:26
Quake

Quake

Санкт-Петербург

Добавьте поддержку JavaScript. Ссылка на репозиторий с языковым пакетом: https://github.com/phpspd/js-cgdk-2018

19.12.2018 12:48:01
MikeWazowski

MikeWazowski

Москва

знатоки, pls, поделитесь опытом или подскажите чайнику какой мануал читать, docker для win10 поставил, в idea подцепил docker plugin, а что дальше то делать со скриптами compile-in-docker.sh и run-in-docker.sh ?

19.12.2018 19:21:35
nicknickq

nicknickq

Ростов-на-Дону

Планируется ли поддержка swift?

21.12.2018 0:22:28
plomovtsev

plomovtsev

Naumen

MikeWazowski

MikeWazowski

Москва

знатоки, pls, поделитесь опытом или подскажите чайнику какой мануал читать, docker для win10 поставил, в idea подцепил docker plugin, а что дальше то делать со скриптами compile-in-docker.sh и run-in-docker.sh ?

Для локального запуска стратегии не нужен докер, всё как обычно: 1. Стартуем локалраннер, он запускается и ждёт сообщения на каком-то порту 2. Запускаем Runner своего языкового пакета, он начинает писать на этот порт

21.12.2018 7:28:46
MikeWazowski

MikeWazowski

Москва

plomovtsev

plomovtsev

Naumen

Для локального запуска стратегии не нужен докер, всё как обычно: 1. Стартуем локалраннер, он запускается и ждёт сообщения на каком-то порту 2. Запускаем Runner своего языкового пакета, он начинает писать на этот порт

Спасибо! Для таких же бестолковых как я добавлю, что нужен 8-й JDK

21.12.2018 10:42:56
ESG

ESG

Санкт-Петербург

File “C:/Users/-/Desktop/python.3-cgdk/Runner.py”, line 38, in run self.remote_process_client.write(actions, strategy.custom_rendering()) AttributeError: ‘MyStrategy’ object has no attribute ‘custom_rendering’

21.12.2018 21:54:49
mixei4

mixei4

КГУ

ESG

ESG

Санкт-Петербург

File “C:/Users/-/Desktop/python.3-cgdk/Runner.py”, line 38, in run self.remote_process_client.write(actions, strategy.custom_rendering()) AttributeError: ‘MyStrategy’ object has no attribute ‘custom_rendering’

Вероятно, надо добавить этот attribute ‘custom_rendering’.

https://github.com/MailRuChamps/raic/blob/master/packages/python3/MyStrategy.py

21.12.2018 22:01:01
ESG

ESG

Санкт-Петербург

mixei4

mixei4

КГУ

Вероятно, надо добавить этот attribute ‘custom_rendering’. https://github.com/MailRuChamps/raic/blob/master/packages/python3/MyStrategy.py

Спасибо))

21.12.2018 22:16:54
Wsl_F

Wsl_F

Google

А это нормально, что в питоне не инициализируются значения ROBOT_MIN_RADIUS, ROBOT_MAX_RADIUS и другие в классе Rules? на входе такой джейсон:

{‘max_tick_count’: 18000, ‘arena’: {‘width’: 60.0, ‘height’: 20.0, ‘depth’: 80.0, ‘bottom_radius’: 3.0, ‘top_radius’: 7.0, ‘corner_radius’: 13.0, ‘goal_top_radius’: 3.0, ‘goal_width’: 30.0, ‘goal_height’: 10.0, ‘goal_depth’: 10.0, ‘goal_side_radius’: 1.0}, ‘team_size’: 2}

21.12.2018 23:39:17
Wsl_F

Wsl_F

Google

Wsl_F

Wsl_F

Google

А это нормально, что в питоне не инициализируются значения ROBOT_MIN_RADIUS, ROBOT_MAX_RADIUS и другие в классе Rules? на входе такой джейсон: {‘max_tick_count’: 18000, ‘arena’: {‘width’: 60.0, ‘height’: 20.0, ‘depth’: 80.0, ‘bottom_radius’: 3.0, ‘top_radius’: 7.0, ‘corner_radius’: 13.0, ‘goal_top_radius’: 3.0, ‘goal_width’: 30.0, ‘goal_height’: 10.0, ‘goal_depth’: 10.0, ‘goal_side_radius’: 1.0}, ‘team_size’: 2}

похоже в новом локал ранере починили

22.12.2018 11:21:28
Casey1984

Casey1984

Рыбное

Рабочий CMakeList.txt для Qt Creator под Windows:

cmake_minimum_required(VERSION 3.5) project(MyStrategy)

set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++17 -static \ -fno-optimize-sibling-calls -fno-strict-aliasing -D_WIN32 \ -lm -s -O2 -Wall -Wtype-limits -Wno-unknown-pragmas”)

find_library(ws2_32_LIB ws2_32)

file(GLOB strategy_SRC “.cpp“ ”model/.cpp” “csimplesocket/*.cpp”)

add_executable(MyStrategy ${strategy_SRC})

target_link_libraries(MyStrategy ${ws2_32_LIB})

22.12.2018 12:06:13
Casey1984

Casey1984

Рыбное

Casey1984

Casey1984

Рыбное

Рабочий CMakeList.txt для Qt Creator под Windows: cmake_minimum_required(VERSION 3.5) project(MyStrategy) set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++17 -static \ -fno-optimize-sibling-calls -fno-strict-aliasing -D_WIN32 \ -lm -s -O2 -Wall -Wtype-limits -Wno-unknown-pragmas”) find_library(ws2_32_LIB ws2_32) …

Дополнение: использую MinGW.

22.12.2018 12:19:36
CoruNethron

CoruNethron

ДВФУ ШЕН

GoodDalek

GoodDalek

АлтГУ

Для сишников надо инструкцию (для Visual Studio): 1. Подключить в проект все исходные файлы пакета 2. Подключить только 4 заголовочных файла корневой папки 3. В свойствах проекта linker (компоновщик) -> input (ввод) -> additional dependencies (дополнительные зависимости) добавить ws2_32.lib

Кто пользует Clion + Mingw, подменить -D_LINUX на -DWIN32 в CMakeLists.txt и добавить внизу

if(WIN32) target_link_libraries(MyStrategy wsock32 ws2_32) endif()

Этого было достаточно, чтобы построить пустую стратегию прямо из-под CLion.

22.12.2018 19:22:19
GS

GS

Тюмень

Во все прошлые турниры была поддержка FreePascal. В этом году поддержку удалили, и никаких аргументаций этому от организаторов турнира до сих пор не было озвучено. На codeforces почему никаких проблем с этим нет. Низачот.

23.12.2018 13:35:32
awesoon

awesoon

ONER

GS

GS

Тюмень

Во все прошлые турниры была поддержка FreePascal. В этом году поддержку удалили, и никаких аргументаций этому от организаторов турнира до сих пор не было озвучено. На codeforces почему никаких проблем с этим нет. Низачот.

Вы можете сделать PR с пакетом для паскаля, надо только реализовать модель, взаимодействие с сервером и докер файл для компиляции и запуска

23.12.2018 15:13:23
mixei4

mixei4

КГУ

GS

GS

Тюмень

Во все прошлые турниры была поддержка FreePascal. В этом году поддержку удалили, и никаких аргументаций этому от организаторов турнира до сих пор не было озвучено. На codeforces почему никаких проблем с этим нет. Низачот.

В том году на паскале писали 12 человек. Вот и вся аргументация.

23.12.2018 19:24:32
GS

GS

Тюмень

mixei4

mixei4

КГУ

В том году на паскале писали 12 человек. Вот и вся аргументация.

Т.е. теперь эти 12 человек идут лесом?)))))) Мягко говоря, некорректная аргументация

23.12.2018 20:19:20
mixei4

mixei4

КГУ

GS

GS

Тюмень

Т.е. теперь эти 12 человек идут лесом?)))))) Мягко говоря, некорректная аргументация

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

23.12.2018 20:29:33
Nehc

Nehc

Пушкино

GS

GS

Тюмень

А где же поддержка FreePascal?

Да, мне вот тоже интересно..

24.12.2018 15:05:54
demerzel1

demerzel1

Китай

I’m using C++ on MacOS, and I meet problem that “#include <linux/if_packet.h> #include <linux/if_packet.h> #include <linux/if_ether.h> #include <linux/if.h> #include <sys/sendfile.h>”, on MacOS I can not find these head files. Is there some compatibility lib or something that I can use to replace these head files?

25.12.2018 11:13:29
Gondragos

Gondragos

Владимир

Каковы шансы что в ближайшее время примут хоть какой-то пакет с javascript? Уже устал дублировать код на Rust, я его даже не знаю (:

25.12.2018 14:44:48
Lisynok

Lisynok

ФФ МГУ

Подскажите, запускаю скрипт Runner на mac - получаю ошибку:

Undefined symbols for architecture x86_64: “MyStrategy::MyStrategy()”, referenced from: Runner::run() in Runner-5f3473.o … ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

что можно с этим сделать?

25.12.2018 20:04:34
dbf

dbf

A

Lisynok

Lisynok

ФФ МГУ

Подскажите, запускаю скрипт Runner на mac - получаю ошибку: Undefined symbols for architecture x86_64: “MyStrategy::MyStrategy()”, referenced from: Runner::run() in Runner-5f3473.o … ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) …

Стоит создать issue тут: https://github.com/MailRuChamps/raic/issues и указать, какая операционка и т.д. Так добавили сборки 32 бита, может и тут помогут.

25.12.2018 23:06:44
kirimedia

kirimedia

Москва

Друзья. В c++ вижу, что глобальная переменная доступна из act для обоих роботов. Это нормально? Я могу всю логику реализовать в вызовах для первого робота, а второму только отдавать просчитанные команды?

28.12.2018 20:40:52
oreshnik

oreshnik

АльфаСтрахование

kirimedia

kirimedia

Москва

Друзья. В c++ вижу, что глобальная переменная доступна из act для обоих роботов. Это нормально? Я могу всю логику реализовать в вызовах для первого робота, а второму только отдавать просчитанные команды?

Да, я именно так и делаю

28.12.2018 21:44:59
Igor_Chepelev

Igor_Chepelev

Москва

GoodDalek

GoodDalek

АлтГУ

Для сишников надо инструкцию (для Visual Studio): 1. Подключить в проект все исходные файлы пакета 2. Подключить только 4 заголовочных файла корневой папки 3. В свойствах проекта linker (компоновщик) -> input (ввод) -> additional dependencies (дополнительные зависимости) добавить ws2_32.lib

Спасибо!

29.12.2018 19:14:26
s-a--m

s-a--m

МГТУ им. Н.Э. Баумана

Добавьте кто-нибудь Kotlin Native?

07.01.2019 18:52:26
karloid

karloid

Санкт-Петербург

s-a--m

s-a--m

МГТУ им. Н.Э. Баумана

Добавьте кто-нибудь Kotlin Native?

господи, зачем?

08.01.2019 15:07:31
s-a--m

s-a--m

МГТУ им. Н.Э. Баумана

karloid

karloid

Санкт-Петербург

господи, зачем?


Добавьте кто-нибудь Kotlin Native? господи, зачем?

Те, кто писал на яве и котлине смогут получить почти бесплатный буст производительности. Мне, например, очень не хватает 20мс для хорошего перебора. Посмотрите топ стратегии - большинство на С++

09.01.2019 12:03:13
karloid

karloid

Санкт-Петербург

s-a--m

s-a--m

МГТУ им. Н.Э. Баумана

  Добавьте кто-нибудь Kotlin Native?

господи, зачем? Те, кто писал на яве и котлине смогут получить почти бесплатный буст производительности. Мне, например, очень не хватает 20мс для хорошего перебора. Посмотрите топ стратегии - большинство на С++

Проблема только в том что буст не бесплатный : котлин нейтив сырой, стандартная библиотека гораздо меньше, поддерживает сингл тред и в том что буста нет, котлин нейтив сейчас не про перформанс (с перформансом там хуже чем на котлин/jvm), а про нативные бинарники

09.01.2019 12:17:34