Size: a a a

WebAssembly — русскоговорящее сообщество

2021 January 02

3

3bl3gamer in WebAssembly — русскоговорящее сообщество
и ещё вопрос: можно ли как-то вставлять собственные затычки вместо некоторых функций libc?

я полключаю либу, которая местами делает fprintf(stderr, ...), и иногда (чуть ли не один раз, при разборе переданных параметров) делает sscanf(...). вот оставить бы как-то этот sscanf, а остальное заткнуть или заменить чем-то простым.

а то при сборке с EMCC_ONLY_FORCED_STDLIBS=1 EMCC_FORCE_STDLIBS=libmalloc результат худеет больше чем на треть
источник

でゲソ in WebAssembly — русскоговорящее сообщество
Sergey Rubanov
местное сленговое название пропозала bulk memory operations (который выделили из reference types, потому что они и отдельно полезны)
легко спутать с boolками
источник

でゲソ in WebAssembly — русскоговорящее сообщество
3bl3gamer
и ещё вопрос: можно ли как-то вставлять собственные затычки вместо некоторых функций libc?

я полключаю либу, которая местами делает fprintf(stderr, ...), и иногда (чуть ли не один раз, при разборе переданных параметров) делает sscanf(...). вот оставить бы как-то этот sscanf, а остальное заткнуть или заменить чем-то простым.

а то при сборке с EMCC_ONLY_FORCED_STDLIBS=1 EMCC_FORCE_STDLIBS=libmalloc результат худеет больше чем на треть
ну так пишешь свою реализацию, обмазываешь ifdef EMSCRIPTEN и кладёшь в какой-нибудь заголовочник
источник

でゲソ in WebAssembly — русскоговорящее сообщество
でゲソ
легко спутать с boolками
посему предлагаю звать булк мопсами
источник
2021 January 03

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
3bl3gamer
и ещё вопрос: можно ли как-то вставлять собственные затычки вместо некоторых функций libc?

я полключаю либу, которая местами делает fprintf(stderr, ...), и иногда (чуть ли не один раз, при разборе переданных параметров) делает sscanf(...). вот оставить бы как-то этот sscanf, а остальное заткнуть или заменить чем-то простым.

а то при сборке с EMCC_ONLY_FORCED_STDLIBS=1 EMCC_FORCE_STDLIBS=libmalloc результат худеет больше чем на треть
Если свой libc подставить, например через --sysroot (в клэнге работает, в emcc не 100% уверен), но это довольно муторный процесс
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Готовой либы с отключаемыми примитивами в общем нет
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Хотя наверное её можно сделать (с определёнными трудозатратами 😁)
источник

3

3bl3gamer in WebAssembly — русскоговорящее сообщество
でゲソ
ну так пишешь свою реализацию, обмазываешь ifdef EMSCRIPTEN и кладёшь в какой-нибудь заголовочник
типа
#ifdef EMSCRIPTEN
int fprintf(FILE *fp, const char *format, ...)
{
 return 0;
}
#endif
?
он тогда ругается на
wasm-ld: error: duplicate symbol: fprintf
источник

でゲソ in WebAssembly — русскоговорящее сообщество
3bl3gamer
типа
#ifdef EMSCRIPTEN
int fprintf(FILE *fp, const char *format, ...)
{
 return 0;
}
#endif
?
он тогда ругается на
wasm-ld: error: duplicate symbol: fprintf
там скорее будет грязь типа

#ifdef EMSCRIPTEN
#define fprintf myfprintf
#endif
источник
2021 January 04

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
https://2021.programming-conference.org/home/proweb-2021 для тех, кто таким интересуется. 😊
источник

Constantine ʕ◔ϖ◔ʔ🦀... in WebAssembly — русскоговорящее сообщество
Интересно, а они видео выкладывают?
источник

Constantine ʕ◔ϖ◔ʔ🦀... in WebAssembly — русскоговорящее сообщество
Я только программинг джорнал читаю
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Constantine ʕ◔ϖ◔ʔ🦀
Интересно, а они видео выкладывают?
Пока непонятно. Но в последнее время принято выкладывать.
источник

Constantine ʕ◔ϖ◔ʔ🦀... in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
Пока непонятно. Но в последнее время принято выкладывать.
» в последнее время принято выкладывать

Что-то не нашёл видео за 2019-2020 года, не подскажите ссылочку🤔
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Constantine ʕ◔ϖ◔ʔ🦀
» в последнее время принято выкладывать

Что-то не нашёл видео за 2019-2020 года, не подскажите ссылочку🤔
Я имел в виду, что в 2020 почти все конференции выкладывали, потому что всё равно проходили онлайн. Насчёт конкретно этой не знаю.
источник

3

3bl3gamer in WebAssembly — русскоговорящее сообщество
что-то я не могу понять, как в emscripten что-то импортировать. там есть макрос
#define EM_IMPORT(NAME) __attribute__((import_module("env"), import_name(#NAME)))
но он нифига не работает. однако рабоатет clang. например:
//main.c
int __attribute__((import_module("env"), import_name("f2"))) f2();

int ff()
{
   return f2();
}

собираю:
clang --target=wasm32-unknown-wasi -O3 -Wl,--no-entry -Wl,--export=ff -o out.wasm -nostdlib main.c
на выходе есть
(import "env" "f2" (func $fimport$0 (result i32)))

но на том же исходнике
emcc -Wall -O3 -Wl,--no-entry,--export=ff -nostdlib -o out.wasm main.c

error: undefined symbol: f2 (referenced by top-level compiled C/C++ code)
источник

VS

Volodymyr Shymanskyy in WebAssembly — русскоговорящее сообщество
источник
2021 January 05

でゲソ in WebAssembly — русскоговорящее сообщество
больше тестов богу тестов
источник
2021 January 06

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
Состоялся релиз Wasmer 1.0

Wasmer — это рантайм для исполнения #WebAssembly на сервере. В версии 1.0 значительно увеличена скорость компиляции, а также появилось несколько новых фич.

https://medium.com/wasmer/wasmer-1-0-3f86ca18c043
источник

G

GODU in WebAssembly — русскоговорящее сообщество
Приветствую))
источник