res2001, но ведь в постановке вопроса от автора ничего не говорится о необходимости повторного исполнения кода. Автор хочет чтобы в программе какой-то код просто выполнился один раз и всё.
Ну будущее. Вместо подобных уточнений лучше сразу исправлять вопрос. Справа внизу вопроса есть троеточие, в его меню много действий. В том числ там есть действие по удалению вопроса, т.к. ответов на него не будет и ты во всем разобрался сам еще на этапе уточнений.
Предлагаю тебе внести свой вклад в борьбе с энтропией и избавиться от брошенной тобой соринки в интернете.
DWZ, так а не на что заменять. Золотое правило кроссплатформенной разработки говорит пользоваться только стандартом языка, который поддерживается всеми компиляторами.
xverizex, тебе надо отредактировать этот ответ, детально заполнить порядок решения твоей проблемы и отметить ответ как решение.
Можешь взять мой ответ за основу.
Т.к. ты не отмечаешь решения в своих вопросах, я, скорее всего, свой ответ буду удалять и дописывать туда правки в build.gradle не стану.
Ashimakunov , каковы критерии оценки избыточности? Почему должно быть не больше 200КБ? Кто сказал что 816КБ это много? Почему после компиляции в релизе размер должен быть небольшим?
Как "sqlite3.lib" связана со стандартной библиотекой - статически или динамически?
Руслан Кириченко, это уже другой вопрос. Размещение нескольких вопросов в рамках одного запрещено регламентом сервиса (П3.7).
Задай отдельный вопрос в теге "Книги".
Иван Клименко, честно-говоря, этот код крайне неоптимален и задачу можно решить меньшим числом строк, памяти и за меньшее время. И выглядеть код будет более понятно чем сейчас.
Но этот камень не для тебя, а для авторского "знакомого из Яндекса".
ned_as, это интересный и довольно занимательный вопрос. :)
Анонимное пространство на самом деле не является анонимным. У этого пространства есть нестандартизированное имя, которое добавляется к полной квалификации всех выражений пространства.
Определяя анонимное пространство в заголовке ты обрекаешь свой код не на нарушение ODR, а на неоднозначность обращений к выражениям по частичной квалификации. И в то же время полную квалификацию ты написать тоже не сможешь, т.к. имя анонимного пространства не является стандартизированным.
Общим принципом применения анонимного пространства имен является объявление исключительно локальных выражений внутри конкретного модуля трансляции. Это практически его смысл. Читаешь .cpp файл, видишь выражение внутри анонимного пространства - понимаешь что выражение используется только в данном модуле трансляции и больше нигде.
Анонимное пространство позволяет решить, например, вот такую проблему. Мой ответ там проясняет тонкости проблемы.
HayterWayper , твоя ошибка не относится к синтаксису языка. Это ошибка сценария сборки. Поэтому тебе надо показать не какой-нибудь произвольный код, а код сценария сборки и организацию файловой структуры твоего проекта.
.libфайлами.