std :: embed увеличило время ссылки - PullRequest
0 голосов
/ 03 февраля 2019

Я прочитал предложение P1040R4 std :: embed и понял, что настоящая проблема с такими инструментами, как xxd и bin2c, заключается в том, что они добавляют огромные накладные расходы при фактическом использовании данных.

Это именно та проблема, которую std::embed пытается решить при работе с большими файлами, и у меня вопрос, насколько это повлияет на время компиляции и компоновки при использовании этой предложенной функции?

1 Ответ

0 голосов
/ 03 февраля 2019

Так как примера реализации нет, точно сказать невозможно.Однако нет никаких причин, по которым оно должно быть значительно медленнее, чем чтение файла.

В качестве приблизительного значения можно использовать ld -r -b binary foo.png -o foo.o и измерить время, чтобы связать получившийся объект.Для доступа к данным вы должны использовать символы

extern "C" const char foo_start;
extern "C" const char foo_end;

Обратите внимание, что foo_start и foo_end не являются указателями, но их адреса находятся в начале / на одном конце конца данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...