• Что лучше использовать #include или LoadLibrary?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Вопрос, на самом деле, заключается не в выборе межу LoadLibrary и #include, а в выборе между явным и неявным связыванием.

    При неявном связывании компоновщик добавляет в PE-секцию импорта дополнительный блок импорта конкретно указанной библиотеки. Этот блок обрабатывается загрузчиком PE в момент подготовки к запуску процесса. Эта информация тебе уже должна быть знакома. К моменту передачи управления в точку входа процесса все неявно связанные библиотеки уже загружены и готовы к работе. Код процесса не нуждается в явном управлении загрузкой таких библиотек.

    Явное связывание выполняется полностью кодом процесса, для чего и применяется набор функций для работы с библиотеками. Явное связывание - это большая рутина. Но иногда без этой рутины никак.
    Поиск динамических библиотек при работе LoadLibrary[?] осуществляется в соответствии с определенным порядком. При этом, путями для поиска динамических библиотек можно управлять в ручном режиме, добавляя новые или замещая имеющиеся пути поиска.

    Директива препроцессора #include[?] лишь косвенно относится к вопросу. На самом деле к вопросу относится директива #pragma comment( lib )[?].
    Прагма работает только для cl - компилятора от Microsoft. Подключаемая таким образом статическая библиотека должна находиться в перечисленных Library Path, в настройках сборки проекта. Эта прагма является альтернативой прямого указания статической библиотеки в настройках сборки проекта.
    Эту директиву любят использовать в сторонних заголовках, код для которых поставляется только в бинарном виде, в статических или динамических библиотеках. Вместе с динамической библиотекой такого решения поставляется и библиотека статическая, в которой находятся инструкции для неявного связывания с динамической библиотекой. Результатом работы #pragma comment( lib ) с такой статической библиотекой будет неявное связывание твоего кода с указанной динамической библиотекой.

    Размер PE ощутимо растет при компоновке из статических библиотек.
    Явное и неявное связывание слабо влияют на размер PE, но явное связывание усложняет жизнь разработчика, т.к. поддерживать загрузку интерфейса библиотеки разработчику придется самому.
    Ответ написан
    Комментировать
  • Что лучше использовать #include или LoadLibrary?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Насколько я понимаю.
    В include описывается библиотека, она может быть статической линковки, так и динамической.
    В случае динамической линковки компилятор берет на себя все ваши вызовы loadLibrary, getProcAddress и прочее.

    1) Откуда берёт библиотеки LoadLibrary ?

    Папка приложения, Системные пути (PATH), knowdlls, полный путь до библиотеки

    2) Проверяет ли LoadLibrary подпись библиотеки, если берёт её из системных путей ?
    да,
    https://msrc-blog.microsoft.com/2014/05/13/load-li...

    3) Уменьшится ли размер исполняемого файла если использовать только LoadLibrary, без #include ? {Один не в счёт, надо же как-то брать HMODULE, WINAPI и прочие штуки ...}
    Линкуйте библиотеки динамически, размер уменьшится, LoadLibrary ни как не влияет.

    4) Что лучше использовать #include или LoadLibrary ?
    5) Если библиотека существует и существует метод к которому я хочу обратится, может ли появиться ошибка ?

    Понимание что они такие жирные
    https://rsdn.org/article/cpp/crt.xml
    Как загружается PE файл
    https://rsdn.org/article/baseserv/peloader.xml
    Ответ написан
    Комментировать
  • Возможно ли писать на C++ со вставками C?

    15432
    @15432
    Системный программист ^_^
    Ну да, используйте extern:

    extern "C" {
            //сишный код
            int g(double);
            double h();
            ....
        };
    Ответ написан
    3 комментария
  • Возможно ли писать на C++ со вставками C?

    Chronicler
    @Chronicler
    Программист
    Можно и очень легко. Просто выделите в вашем проекте Си код в отдельный файл с расширением .c
    Ответ написан
    Комментировать
  • Как убрать из домена '/wordpress' и чтобы при этом сайт открывался без ошибок?

    OtshelnikFm
    @OtshelnikFm Куратор тега WordPress
    Обо мне расскажет yawncato.com
    Выкинь опенсервер. Перенеси на норм хостинг. Не заливай движок в папку wordpress
    Ответ написан
    2 комментария
  • Какой gui для c# лучше?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Дополню ответы выше. WinForm относительно простой и есть куча сторонних компонентов. WPF теже компоненты , не скажу что сложно, UWP смесь wpf и целой кучи технологий. Electron браузер в виде приложения. PWA страничка написанная хитрым образом. Первые 3 имеют плюсы в виде нативной поддержки многих вещей для пользователя, как то драгндропы нормальное взаимодействие с системой и относительно прямой доступ к системе, да и память не жрут.
    Ответ написан
    Комментировать
  • Как оформить первые две карточки?

    develx
    @develx
    Web developer
    .post:nth-child(-n + 2) {
      /* стили первых двух постов */
    }
    Ответ написан
    Комментировать
  • Как оформить первые две карточки?

    AntonLitvinenko
    @AntonLitvinenko
    HTML coder
    Если нужно менять не только стили но и структуру, то для цикла добавляете счётчик, ставите проверку на первые два итема и для них выводите другую разметку, а для остальных стандартную
    <?php if ( have_posts() ) : $ir = 0; while ( have_posts() ) : the_post();
    
      if ( $ir == 0 || $ir == 1 ) {
        get_template_part( 'template-parts/article-wide' );
      } else {
        get_template_part( 'template-parts/article' );
      }
    
    $ir++; endwhile; endif; ?>
    Ответ написан
    2 комментария
  • Библиотека и пространство имен. В чем разница?

    @res2001
    Developer, ex-admin
    Когда вы пишите код, то вы работаете с пространством имен.
    После того как вы собрали свою программу и запустили ее, программа работает с библиотекой, там уже нет никаких пространств имен.
    В библиотеке может быть несколько пространств имен или не одного (точнее вся библиотека размещается в одном глобальном пространстве имен).

    Если опуститься ниже, то библиотека это файл *.dll и/или *.lib (для винды), пространство имен объявляется в *.h файлах.
    Ответ написан
    Комментировать
  • Библиотека и пространство имен. В чем разница?

    SimonMiler
    @SimonMiler
    Junior
    В библиотеке может быть много пространств имён!
    Ответ написан
    Комментировать
  • Какие плагины маст-хэв для разработчика плагинов )) в WordPress?

    OtshelnikFm
    @OtshelnikFm Куратор тега WordPress
    Обо мне расскажет yawncato.com
    Ну скажу я что это WP-Recall. Там и произвольные поля и формы и удобный запрос к произвольным бд и удобная работа с ajax и еще куча возможностей (апи настроек, кнопок, минификация js и css, куча функций помощников и классов для быстрой работы). Только вот тебе что это даст?
    Другие скажут что это ACF, третьи что это вукоммерц. Четвертые скажут - нафиг плагины - пишу сам подключая чужие классы для облегчения работы. Тут надо ориентироваться не на других - а на то, какое направление работы у тебя. В любом случае отлично знать php, хорошо знать mysql и js, хреновенько знать css и jquery и понимать как работает html и уметь дебажить это всё.
    Ответ написан
    Комментировать
  • Таблица wp_postmeta весит более 1 гига, что делать?

    @antoshadrobyshev
    WordPress & Woocommerce developer
    Попробуйте отсортировать таблицу по весу строки и посмотрите, какие строки самые тяжёлые и что в них хранится.
    Ответ написан
    2 комментария
  • Таблица wp_postmeta весит более 1 гига, что делать?

    Kozack
    @Kozack Куратор тега WordPress
    Thinking about a11y
    Ещё можете посмотреть на какой-то плагин аля https://uk.wordpress.org/plugins/advanced-database...
    Как посоветовали: проверьте какие метаданные у вас храняться. Возможно какой плагин или ещё что создаёт кучу записей к каждому посту.
    В целом, я бы игнорировал ситуацию. У вас же не все метаданные загружаются за раз. Но я не эксперт в вопросе БД.
    Ответ написан
    Комментировать
  • Можно ли в WP вывести нужное меню в свой шаблон?

    billyOne
    @billyOne
    Энтузиаст из села
    Привет. Возможно стоит взглянуть в сторону плагина mega-menu, там есть возможность такого налепить, единственное с чем придется повозиться, так это с переназначением классов, и кое где дописать под себя.
    Ответ написан
    Комментировать
  • Можно ли в WP вывести нужное меню в свой шаблон?

    AntonLitvinenko
    @AntonLitvinenko
    HTML coder
    Я вижу два основных варианта, либо изменить вёрстку под ваши классы, что чаще проще, либо ознакомиться с классом walker для меню, он позволяет манипулировать выводом как угодно, но тут немного php надо знать.
    https://misha.blog/wordpress/nav-menu-walkers.html
    Ответ написан
    Комментировать
  • Что использовать для создания консольного меню средствами терминала?

    @AVKor
    dialog, например.
    Ответ написан
    Комментировать