Несколько известных библиотек с открытым исходным кодом C/C++, которые необходимо знать разработчикам C/C++ [легко понять]
Несколько известных библиотек с открытым исходным кодом C/C++, которые необходимо знать разработчикам C/C++ [легко понять]

🍓Персональная домашняя страница:Персональная домашняя страница 🍒серия колонн:Основы C/C++ и продвинутый уровень 💬Порекомендуйте пробное интервью、Инструмент для чистки вопросов,От основ к вопросам для собеседований на крупных предприятиях👉Нажмите, чтобы перейти на веб-сайт по чистке вопросов, чтобы зарегистрироваться и учиться.

Оглавление

1. Библиотека с открытым исходным кодом FFmpeg для обработки мультимедиа.

2. Библиотека с открытым исходным кодом WebRTC для обработки аудио и видео в реальном времени.

3. Ядро браузера Chrome, библиотека с открытым исходным кодом Chromium.

4. Встроенная библиотека Chromium с открытым исходным кодом CEF.

5. Многопротокольная сетевая передача, библиотека с открытым исходным кодом libcurl.

6. Операционная система с открытым исходным кодом ReactOS.

7. Мультимедийный проигрыватель с открытым исходным кодом VLC.

8. Наконец-то


Сегодня, когда широко распространено программное обеспечение с открытым исходным кодом, многие известные отечественные программы C++ используют некоторые большие библиотеки с открытым исходным кодом C/C++. Например, Baofeng Audio and Video использует библиотеку с открытым исходным кодом для обработки мультимедиа FFmpeg, а Tencent Conference использует систему реального времени. библиотека обработки аудио и видео с открытым исходным кодом Webrtc, версия для ПК WeChat использует встроенную библиотеку Chromium с открытым исходным кодом CEF и т. д. Сегодня мы представим вам библиотеки с открытым исходным кодом C/C++, которые обычно используются в повседневной работе, чтобы предоставить вам справочную информацию.

Серия руководств по устранению неполадок в программном обеспечении C++ от начального уровня до профессионального уровня (список статей в рубрике, подпишитесь и продолжайте обновлять...)

https://blog.csdn.net/chenlycly/article/details/125529931

Краткое описание разработки общих функций VC++ (список статей рубрики, добро пожаловать на подписку, продолжайте обновлять...)

https://blog.csdn.net/chenlycly/article/details/124272585

1. Библиотека с открытым исходным кодом FFmpeg для обработки мультимедиа.

FFmpeg — это известная библиотека с открытым исходным кодом для обработки мультимедиа аудио и видео. Студенты, которые занимались разработкой аудио- и видеокодеков, в основном использовали ее. Даже если они не занимались никакими разработками в этой области, они слышали об этом открытом исходном коде. библиотека.

FFmpegda на данный момент является наиболее полным из Открытых исходный codeБиблиотека аудио- и видеокодеков,Включая широко используемые протоколы кодирования аудио и видео. H265, H264, MPEG4, H263, G.721, G.726, G.729 и т. д., а также предоставляет полный набор решений для обработки аудио и видео, включая сбор и кодирование аудио и видео, декодирование аудио и видео, видео преобразование формата, видео. Снимайте изображения, добавляйте водяные знаки к видео и многое другое.

Хотя FFmpeg — это проект с открытым исходным кодом, основанный на Linux, его можно запускать на нескольких системах посредством кросс-компиляции, включая Windows, Mac, iOS, Android и т. д. Он предоставляет набор исполняемых программ, набор SDK и связанных библиотек. . Через интерфейс SDK мы видим, что FFmpeg очень мощный. Он может напрямую получать и отправлять потоки кода, читать и записывать файлы, выполнять операции кодирования и декодирования потоков кода, изменять формат декодированных данных и т. д.

FFmpegда реализован на языке C из,С точки зрения эффективности выполнения близок к языку ассемблера (C/C++ близок к языку ассемблера с точки зрения эффективности выполнения),Он вполне может соответствовать сценариям обработки аудио и видео, предъявляющим высокие требования к производительности в реальном времени.,также,В проект добавлено много оптимизированного кода.,Если вы используете ассемблер вместо кода C/C++,Эффективность работы кода значительно повышается. В обработке аудио и видео из кода,Вставьте ассемблерный код, чтобы повысить эффективность работы кода.,дачастоизслучай!

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

Почти все видеоплееры используют функцию декодирования аудио и видео FFmpeg.,Например, известный отечественныйиз Баофэнъинъинь、QQ-видео、Тенсент Видео、iQIYI Видео、Youku видео ждём.

Для проигрывателя кадры сжатого видеоизображения в видеофайле разлагаются на изображения, а затем изображения отображаются в окне каждую секунду непрерывно, так что человеческий глаз может видеть динамический эффект, то есть. Мы Эффект динамического отображения при просмотре видео на самом деле является эффектом непрерывного показа изображений одно за другим. Количество видеоизображений, воспроизводимых в секунду, называется частотой кадров. Обычно после того, как частота кадров достигает 15 кадров, человеческий глаз видит эффект непрерывного динамического воспроизведения!

Внутренне поддерживает преобразование между несколькими аудио- и видеоформатами.,Многие программы для преобразования аудио и видео используют FFmpeg для функции преобразования аудио и видео.,Например, обычно используетсяизфабрика форматов、Транскодирование Baofeng (Baofeng Video поставляется в комплекте с инструментом)、QQ Audio and Video поставляется с инструментом преобразования видеоформатов.、Видео конвертер Бивер、Быстрый видео конвертер ждать.

Сопутствующие инструкции для исходного кода проекта FFmpeg:

(1) Описание каждой папки корневого Оглавления:

libavcodec: библиотека, содержащая все аудио- и видеокодеки ffmpeg. libavformat: библиотека, содержащая анализаторы и генераторы для всех распространенных аудио- и видеоформатов. libavdevice: Используется для сбора сопутствующего оборудования. libavutil: используется для вспомогательных модулей, таких как операции с памятью. libpostproc: библиотека для предварительной обработки видео. libswscale: Библиотека для масштабирования изображений и другой обработки. libavfilter: the filtering API of ffmpeg。 Самая важная из них — библиотека libavcodec. Он используется mplayer, xine в качестве декодера. Кроме того, эту библиотеку декодирования используют более популярные плееры в Китае, включая Video Storm и QQ Video. (2) Есть еще два файла .c: ffmpeg.c, ffplay.c.,После компиляции будут сгенерированы два исполняемых файла:

ffmpeg: инструмент для преобразования и обработки аудио и видео файлов. ffplay: простой медиаплеер, разработанный с использованием SDL и библиотеки ffmpeg.

2. Библиотека с открытым исходным кодом WebRTC для обработки аудио и видео в реальном времени.

WebRTC(Web Real-Time Коммуникация)даон инициирован Googleиз Аудио и видео в реальном временикоммуникацияC++Открытый исходный библиотека кода,Он обеспечивает сбор, кодирование и передачу аудио и видео по сети.,Полный набор аудио и видео решений, включая декодирование и отображение,Мы можем пройти Открытый исходный Библиотека кода позволяет быстро создать приложение для аудио- и видеосвязи.

Программное обеспечение для работы с аудио и видео в реальном времени обычно включает в себя следующие ссылки: сбор аудио и видео, кодирование (сжатие) аудио и видео, предварительная и постобработка (украшение, фильтры, эхоподавление, шумоподавление и т. д.), сеть. передача, декодирование и рендеринг (воспроизведение аудио и видео) и т. д. Для каждого подразделенного звена также имеются дополнительные подразделенные технические модули.

Происхождение WebRTC можно проследить до приобретения Google движка GIPS у разработчика программного обеспечения VoIP Global IP Solutions в 2010 году за 68,2 миллиона долларов США. Вскоре после приобретения Google переименовала движок в WebRTC и объявила, что он будет доступен для всех. Разработчики по всему миру.

Global IP Solution (GIPS) , — одна из ведущих шведских технологических компаний в мире, специализирующаяся на механизмах кодирования IP-мультимедиа и разработке решений мирового класса по обработке голоса и видео для сетей с коммутацией пакетов. Его продукция в основном включает две категории: (1) Медиа-движок VoiceEngine:Полнофункциональный голосиметь дело сframe. Включает ПК、Mobile、Conference、SDK ( Интеграция обмена сообщениями SIP) и другие версии. VideoEngine:Полное высокое качествоиз Голосовые и видео решения。такой жевключатьPC、Conference、SDK Ждите различных техник издания. (2) Компоненты NetEQ:Одностороннее встроенное решение,Даже в плохих условиях голосовой сетиизвсе еще могу предоставить расширенныеиз Возможности буферизации джиттера и маскировки потери пакетов。NetEQ да WebRTC Одна из основных технологий аудио и видео, важна для улучшения VoIP Качество имеет очевидные последствия, Voice Quality Enhancement(VQE):Путем удаления эха и шума,И отрегулируйте масштаб, чтобы улучшить качество VoIP-звонков.,Чтобы добиться стабилизации и комфортного уровня прослушивания. Набор аудио- и видеокодеков GIPS включает широкополосные и узкополосные каналы, обеспечивающие надежный и чистый звук даже при серьезных потерях пакетов. и ГИПС NetEQ в сочетании может эффективно контролировать задержку и джиттер. Аудиокодек имеет iLBC, Enhanced G.711JSAC, iPCM-wb и более 20 стандартных кодеков. Видеокодек имеет LSVX, H.264, H.264 SVC。

Начало проекта WebRTC позволило веб-разработчикам легко и быстро разрабатывать насыщенное аудио из Аудио на базе Браузера (Chrome\FireFox\...). и видео в реальном приложения времени без скачивания и установки каких-либо плагинов и веб-разработчиков без внимания Процесс обработки аудио и видео можно реализовать, написав простую программу на Javascript. Нижний уровень библиотеки WebRTC реализован на C/C++ и имеет хорошую кроссплатформенную производительность. В настоящее время он обеспечивает поддержку нескольких систем, таких как Windows, MAC, iOS и Android. Нам нужно только вызвать соответствующий системный SDK. завершить загрузку аудио и видео в эти системы. Приложение из сборки.

Хотя он и называется WebRTC, на самом деле он поддерживает не только аудио- и видеосвязь между Интернетом, но и мобильными платформами, такими как Windows, Android и iOS. Базовый уровень WebRTC разработан на C/C++ и имеет хорошую кроссплатформенную производительность.

Благодаря лучшим аудио- и видеоэффектам и хорошей сетевой адаптации WebRTC широко используется в видеоконференциях и других приложениях. и видео в реальном временипрямая трансляцияждатьв поле。В сфере видеоконференций,Конференция Тенсент、Huawei WeLink、Байт Фейшу、Алибаба DingTalk、Кеда、ZOOM、Xiaoyu Yilian предоставляет решения для видеоконференций на основе WebRTC.

Всем знаком Agora, профессиональный поставщик аудио- и видеоуслуг.,Дажедана основе Открытый исходный Библиотека codeWebRTC предоставляет интерактивные аудио- и видеорешения для различных отраслей, таких как прямая трансляция социальных сетей, образование, игровой киберспорт, Интернет вещей, AR/VR, финансы, страхование, медицинское обслуживание и корпоративное сотрудничество. Компании, использующие услуги Shengwang, включают Xiaomi, Momo, Douyu, Bilibili, New Oriental, Xiaohongshu и HTC. VIVE 、The Meet Группа, Банч, Ялла и другие гиганты, единороги и стартапы по всему миру.

Помимо ведущей компании Shengwang, многие компании разработали множество аудио- и видеоприложений на основе WebRTC с открытым исходным кодом, предоставляя решения для аудио- и видеосвязи в различных областях.

Сопутствующие инструкции для исходного кода проекта WebRTC:

(1) Описание каждой папки корневого Оглавления:

api: уровень интерфейса WebRTC, Браузердуда вызывает WebRTC через этот интерфейс, в том числе DataChannel, MediaStream, Интерфейсы, связанные с SDP вызов: уровень управления потоком данных. Вызов представляет одну и ту же точку, и все входящие и исходящие потоки данных сохраняются. WebRTC "Вызов" Код соответствующего логического уровня. видео: логика, связанная с видео, код, относящийся к уровню видеологики и уровню видеомеханизма. Логическая отправка, получение и получение видеоданных и другие коды. аудио: логика, связанная со звуком, логическая отправка, получение аудиоданных и другие коды. common_audio: относится к аудиоалгоритмам, хранит некоторые базовые аудиоалгоритмы. Включая кольцевую очередь, алгоритм Болье, фильтры и т. д. common_video: связанный с видеоалгоритмами, хранит общие инструменты, связанные с видеоалгоритмами, такие как libyuv, анализатор sps/pps, буфер I420 и т. д. media: основной медиапоток из абстракции интерфейса. для медиа-движков и codec слой обеспечивает перемычку. Здесь сказано из медиапотока да RTP поток. ПК Уровень также абстрагирует медиапоток перед кодированием или после декодирования. logging:WebRTC из log библиотека. media: уровень медиа-движка, включая реализацию аудио- и видеодвижка. modules:WebRTC Абстрагируйте некоторую логику, которая относительно независима, поскольку Модуль, который облегчает расширение и обслуживание. ortc: протокол описания мультимедиа, аналогичный sdp протокол. out:build Вывод Оглавление, это да webrtc Демонстрация Оглавления в официальном руководстве по составлению. p2p: основная реализация candidate Собрать, НАТ путешествие во времени. ПК: реализация jsep протокол. ресурсы: тестовые данные rtc_base: включить Розетка, резьба, замок и т. д. OS Реализация основных функций. rtc_tools: инструменты мониторинга сети, инструменты анализа аудио и видео. Многие инструменты реализованы в скриптах. SDK: В основном связано с реализацией мобильных терминалов. stats:WebRTC Реализация модуля статистики. руководство по стилю: инструкции по спецификации кодирования system_wrappers:OS Связанные функции инкапсуляции, такие как cpu、clock ждать. test: реализация кода модульного теста, использование gmock тестирование: gmock, gtest и другие исходные коды, принадлежащие всей Chromium проект. Third_party: зависимости сторонних библиотек. Например, Boringssl, Abseil-CPP, libvpx и т. д. инструменты: общедоступный набор инструментов, весь Chromium Зависимости проекта из. tools_webrtc:WebRTC Используйте набор инструментов. Например, проверка кода valgrind из использования. видео: видео RTP Потоковый абстрактный интерфейс является частью видеодвижка. (2) Важный модуль модуля соответствует структуре из Оглавление. ​Это Оглавлениеда WebRTC Самое главное в кодексе – это Оглавление. Он включает в себя сбор аудио и видео, обработку, кодеки, микширование и т. д. Описание папки в этом файле следующее:

audio_coding: коды, относящиеся к аудиокодеку audio_coding, да относится к логике кодека, и здесь будут использоваться кодеки audio_coding и другие кодеки под Оглавление audio_coding. audio_device: код, связанный со сбором видео и воспроизведением аудио. audio_device относится к устройству. В предыдущей версии webrtc некоторые соответствующие коды помещены в SDK. , все устройства да Поместите это в audio_device , включая наши из Windows и MAC из и под Linux, все под Оглавление audio_device. audio_mixer: код, связанный с микшированием audio_mixer, связанный с микшированием, микширование похоже на взаимодействие нескольких людей во время встречи. Например, если четыре человека говорят одновременно, их следует смешать вместе. Это будет более удобно во время передачи. аудиопоток, поэтому эта информация, связанная с микшированием, помещается в audio_mixer. audio_processing: коды, связанные с предварительной и постобработкой звука. audio_processing — это предварительная и постобработка звука. Предварительная и постобработка звука аналогична эхоподавлению, шумоподавлению, усилению и т. д., и все это помещается в audio_processing. Это Оглавление разделено на множество частей. Оглавление Сзади вы. Вообще говоря, мы знаем, что это связанное из находится под этим Оглавлением. И найди под этим Оглавлением другого сына Оглавление bitrate_controller: код, связанный с управлением битрейтом bitrate_controller, это управление кодовым потоком, например, управляет этим кодовым потоком, видео из кодового потока да500к или да1М. Этот поток кода контролируется. Если вы хотите знать, как управлять соответствующим потоком кода , то вы можете пойти сюда, чтобы увидеть это. congestion_controller: код, связанный с управлением потоком -congestion_controller, речь идет об управлении потоком. Когда я могу обнаружить, что сетевой трафик относительно высок, нам нужно выполнить некоторое управление потоком, чтобы этот сетевой пакет не уничтожил полосу пропускания. Как конкретно контролировать его, нужно выполнить здесь соответствующую логику. Итак, если я хочу Чтобы узнать больше об управлении потоками, перейдите в это Оглавление и найдите его. Desktop_capture: код, связанный с захватом рабочего стола. – темп: код, связанный с определением скорости кода и обработкой сглаживания. Функция темпа заключается в определении и сглаживании скорости передачи данных. Сначала мне нужно определить скорость передачи звука и видео. После этого нам нужно выполнить процесс сглаживания. Мы не можем позволить отправить все сразу. следует исправить. Он делает некоторое сглаживание, например, иногда да10к, иногда да500к, мы даем ему усреднить. Remote_bitrate_estimator: код, связанный с удаленной оценкой битрейта. Функция emote_bitrate_estimator — оценить скорость удаленного кода. Какую пропускную способность я могу получить на удаленном конце? Одна из них — моя локальная пропускная способность, а другая — удаленная пропускная способность. Не только то, сколько я могу отправить, но и сколько другая сторона. может получить, поэтому должен быть удаленный конец оценки битрейта, это да помещается в раздел Remote_bitrate_estimator Оглавление. rtc_rtcp: код, связанный с протоколом rtp/rtcp – video_capture: код, связанный с захватом видео video_capture Я захватываю видео, связанное с кодом, и помещаю его в video_capture. video_coding: коды, связанные с кодированием и декодированием видео. Кодирование видео, например H264, VP 8,VP 9. Подождите, этот кодер помещен в video_coding. video_processing: коды, относящиеся к предварительной и постобработке видео. video_processing относится к предварительной и постобработке видео, такой как улучшение и обнаружение видеокадра. Если мы добавим распознавание лиц, его можно поместить в раздел video_processing.

вместе с c++11,c++14,c++17 Запущен новый стандарт WebRTC В новой версии постепенно поддерживается функция из грамматики в новом стандарте, что может быть немного неясно.

3. Ядро браузера Chrome, библиотека с открытым исходным кодом Chromium.

ChromiumдаGoogleиз давно зарекомендовавший себя браузер БраузерC++Открытый исходный код проекта,Это движок Google Chrome.,Его цельизда Чтобы создать сейф、Стабилизироватьибыстрыйиз Универсальный Браузер。

Концепция дизайна Chromium основана на концепциях простоты, высокой скорости, стабильности и безопасности. В своей архитектуре он использует движок рендеринга WebKit, разработанный Apple, а также движок V8, разработанный исключительно Google для повышения эффективности JavaScript. интерпретация и разработан. Он предоставляет такие функции, как «песочница», «черный список» и «просмотр в режиме инкогнито», для достижения стабильной и безопасной среды просмотра веб-страниц.

ChromeБраузерыChromiumиз Отношения: Chromiumдаgoogleиз Открытый исходный Проект кода кода, поддержка Chomedagoogle, основан на Chromium и з Браузер, добавляет некоторые дополнительные функции и делает некоторые оптимизации на основе Chromium. Эти два браузера предназначены для пользователей, но они различаются: обычно пользователи Chrome используют его для просмотра веб-страниц, а Chromium используется в основном компьютерщиками, разработчиками и пользователями, которые знакомятся с новыми функциями.

много Браузериспользоватьиз ВседаChromiumОткрытый исходный код Ядро,Например, Microsoft запустила EdgeБраузер в системе Win10 и отказалась от ядра IE.,Переключитесь на использование ядра Chromium. Отечественные известные из360Браузер, QQБраузер, Maxthon Браузер,Они используют оба ядра Chromium,Только да разработали свои собственные скины и интерфейсы пользовательского интерфейса.,Добавлены некоторые дополнительные пользовательские функции. Далее, что касается встроенной платформы CEF, она также реализована на основе ядра Chromium.

Знакомство с каждой папкой в ​​корне проекта Chromium:

android_webview:Android WebView реализовать, инкапсулировать Content слой для интеграции в Android платформа. андроид Важно из поддержки. apps:Chrome Пакетные приложения база: подпроекты имеют общий код. Он содержит такие вещи, как манипуляции со строками, общие утилиты и т. д. Breakpad: отчет о сбое, я оформляю заказ, а такого нет сборка: все проекты совместно используют и редактируют конфигурации, связанные со сборкой. cc: реализация синтезатора Chromium chrome:Chromium Браузер chrome/test/data: используется для запуска определенных файлов тестовых данных. компоненты: изконтент-модулииз Компоненты Оглавление, от которого зависят компоненты верхнего уровня содержание: основной код, необходимый для многопроцессной изолированной программной среды. устройство: общий базовый аппаратный API и кроссплатформенная абстракция. моджо: похоже на Android из AIDL обеспечивает межъязыковую (C++) / Java / JavaScript) кросс-платформенный механизм межпроцессного сравнения объектов (Object); ipc , последний обеспечивает единый язык (C++) и механизм взаимодействия между процессами сообщений (Message). Эта новейшая архитектура дахромия IPC постепенно заменит старую IPC. net: Разработано для Chromium из сетевой библиотеки. «песочница»: проект «песочницы», который пытается предотвратить изменение системы взломанными средствами рендеринга. Skia+ Third_party/skia: графическая библиотека Google изSkia sql: завернутый sqlite тестирование: Содержит то, что мы используем для модульного тестирования изGoogleОткрытое. исходный кодGТестовый код. Third_party: более 200 маленьких и больших «внешних» библиотек, таких как декодеры изображений, библиотеки сжатия и веб-движок Blink (да здесь, потому что он наследует WebKit из лицензионных ограничений). …/blink/renderer: Отвечает за преобразование HTML, CSS и скриптов в команды рисования и другие изменения состояния веб-движка. инструмент: инструмент. ui/gfx: общие графические классы. Они представляют собой хром Основы пользовательской графики. ui/views: простая платформа для разработки пользовательского интерфейса, обеспечивающая рендеринг, макет и обработку событий. Большая часть БраузерUI реализована в этой системе. Оглавление содержит базовые объекты. Некоторые другие объекты Браузериз, специфичные для Chrome. / browser / ui / в просмотрах. url:Googleиз Открытый исходный Библиотека анализа и нормализации кодURL. V8:V8 Javascriptбиблиотека. Это да прямо из Google Извлечение из репозитория CodeizSubversion.

Браузер Chrome использует многопроцессную архитектуру. При запуске запускаются несколько процессов Chrome. Различные процессы выполняют разные задачи, такие как процесс рендеринга, процесс обработки исключений, процесс ускорения графического процессора, процесс сетевой службы и процесс хранения данных. Через исходный код Chromium вы можете узнать подробности реализации технологии многопроцессной и многопоточной связи.

4. Встроенная библиотека Chromium с открытым исходным кодом CEF.

CEFиз полного имени даChromium Embedded Framework (встроенная платформа Chromium), основанная на Google. Chromiumиз Открытый исходный код Браузер "Управление",Его также можно реализовать на C++. Google Проект Chromium в основном предназначен для Google. Chrome Браузер разрабатывается, а CEF обеспечивает встраиваемый Браузер (элементы управления) с поддержкой сторонних приложений.

CEFда встраивается в окно приложения как элемент управления Браузер для реализации функции открытия веб-страницы в окне приложения. CEF изолирует базовый сложный код Chromium и Blink, предоставляет набор стабильных API-интерфейсов на уровне продукта, а также публикует и отслеживает определенные версии Chromium и версии CEF. Большинство функций CEF предоставляют богатые реализации по умолчанию, что позволяет пользователям вносить как можно меньше настроек для удовлетворения своих потребностей.

CEF поддерживает несколько платформ, таких как Windows, Linux и Mac. Помимо предоставления интерфейсов C/C++, он также имеет версии на других языках. Поскольку CEF основан на Chromium, он поддерживает механизм рендеринга Webkit и функцию HTML5iz в Chrome, а его производительность относительно близка к Chrome Браузер. CEF также предоставляет пользовательские плагины, пользовательские протоколы, пользовательские объекты и расширения JavaScript, а также управляемые ресурсы. loading,、navigation、context menusждать.

Типичные сценарии применения CEFиз включают в себя: (1) Внедрите HTML5-совместимый элемент управления в существующее локальное приложение, чтобы открыть в нем веб-страницу. Это наиболее часто используемый сценарий для CEF. (2) Создать облегченную оболочку Браузер для размещения приложений, разработанных в основном с использованием веб-технологий. (3) Некоторые приложения имеют независимые платформы рендеринга и используют CEF для рендеринга веб-контента в автономном режиме. (4) Используйте CEF для автоматического веб-тестирования.

В настоящее время многие настольные программы с архитектурой C/S для ПК имеют встроенные элементы управления CEF Браузер.,Открыть указанную веб-страницу прямо в окне приложения,Точно так же, как открытие веб-страницы в Браузере.。Встроенныйиз Браузерконтрольможет быть напрямуюиспользоватьWindowsсерединаизIEБраузер Ядроизконтроль,Но ядру даIEБраузер необходимо использовать Adobe Flash Control при рендеринге интерфейса.,Управление вспышкой нестабильно,Часто приводит к сбою IEБраузер,Итак, все Всевыберу Стабилизировать ЭффективныйизCEFБраузерконтрольиз Способ。Например, мы частоиспользоватьизнастольное программное обеспечениеQQ、ПК-версия WeChat、Корпоративный WeChat、DingTalk、Фейшу、Гром、iQIYI Видеоклиент、Видеоклиент Youku、Юдао словарь、Облачные заметки Youdao、MindMasterпрограммное обеспечение для создания интеллект-картждать Всеиспользовать Понятно ВстроенныйCEFБраузерконтроль。

5. Многопротокольная сетевая передача, библиотека с открытым исходным кодом libcurl.

libcurlда бесплатная Открытый исходный кодизсетевая библиотека передачи (библиотека multiprotocol file transfer library),Библиотека использует язык C для реализации,поддерживатьftp、ftps、http、https、telnet、ldap、pop3、smtp、rtmp、rtsp、smbждать Различныйпротокол.libcurlсередина封装Понятноподдерживать Этипротоколиз Модуль сетевой связи,Поддержка кроссплатформенности,Поддержка Windows,Unix,Linuxждать Несколько операционных систем。libcurlПредоставляет единый набор стилей.изAPIинтерфейс,мы неиспользоватьсосредоточиться Подробности реализации сетевой связи по различным протоколам. Вам нужно всего лишь вызвать эти API, чтобы легко реализовать передачу данных на основе этих протоколов.

Мы много раз использовали библиотеку libcurl в реальных проектах, используя протокол HTTP/HTTPS в библиотеке для инициации запросов http/https и протокол SMTP для отправки электронных писем. Для libcurlОткрытый исходный библиотека кодаизкомпилировать,Вы можете посмотреть статью, которую я написал ранее:

Подробное объяснение процесса компиляции библиотеки сетевой передачи C++ Открытый исходный код libcurliz.

https://blog.csdn.net/chenlycly/article/details/125135667

6. Операционная система с открытым исходным кодом ReactOS.

ReactOSда основана на Windows NT Архитектура похожа на Windows Система XP бесплатно Открытый исходный код операционной системы,направленный навыполнитьи NT и Windows Он имеет полную совместимость приложений и драйверов с двоичным кодом операционной системы, использует аналогичную системную архитектуру и предоставляет полностью аналогичные системные API-интерфейсы и внутренние интерфейсы. Открытый исходный Проект кода реализован на языке C. Имена каждого модуля DLL в проекте, имя интерфейса в модуле, тип параметра интерфейса и внутренняя реализация интерфейса очень близки к операционной системе Windows. системы, поэтому вы можете узнать больше о ней, просмотрев исходный код системы ReactOS.

ReactOS находится на постоянном обслуживании. Вы можете найти исходный код ReactOS и адрес для загрузки на официальном сайте ReactOS, а также использовать svn для загрузки исходного кода ReactOS.

Код ReactOS Открытый исходный код очень полезен для разработчиков программного обеспечения Windows.,Вы можете перейти к коду ReactOS, чтобы просмотреть внутреннюю реализацию функций системного API.,Вы можете проверить реализацию внутреннего интерфейса системного модуля.,Вы можете просмотреть код реализации любого модуля в системе ReactOS. Windows предоставляет только интерфейс системного API и подробное описание.,Описание внутреннего интерфейса системного модуля не приводится.,ReactOSда ближе к системе Windows,Примерно понять декларацию внутреннего интерфейса и внутреннюю реализацию системного модуля Windows можно, просмотрев код ReactOS.,Нам очень полезно устранять проблемы с программным обеспечением Windows!

Мы много раз ссылаемся на код ReactOS в проекте.,Решено множество проблем, возникших в процессе разработки.,Конкретные примеры можно найти в следующей статье:

Решите проблему сбоя загрузки dll по полному пути, просмотрев открытый исходный код ReactOS (исходный код прилагается).

https://blog.csdn.net/chenlycly/article/details/124360104

7. Мультимедийный проигрыватель с открытым исходным кодом VLC.

Полное имя VLC — даVideo. Lan Клиент, даа бесплатно, Открытый исходный кодиз Кроссплатформенный мультимедийный проигрыватель и фреймворк,Он реализован на языке C.,Может воспроизводить файлы из сети, камеры, диска, оптического привода,поддерживатьвключатьMPEG4、H264、H265、DivX、WMV、Vorbis、AC3ждать Различный Аудио и видеопротокол.VLCсамый известныйиз Сразудапотоковая передача медиафайловиз Функция,VLC поддерживает различные протоколы потоковой передачи.,Может напрямую воспроизводить удаленное потоковое видео,Просто введите видеофайл и URL-адрес.,Нет необходимости скачивать локально. также,VLC также может напрямую воспроизводить файлы, которые еще не загружены.

Функция VideoLanServer (VLS) была объединена с VLC, поэтому VLC — это не только аудио- и видеоплеер, его также можно использовать в качестве небольшого видеосервера или сервера потокового мультимедиа. Он может перекодировать во время воспроизведения и отправлять видеопоток на видеопоток. сеть превосходная.

VLC написан на C++/Qt для Windows и Linux, что обеспечивает единообразный пользовательский интерфейс. В то же время VLC также специально разработан для ОС. X предоставляет собственную версию ОС Xверсияиз Пользовательский интерфейс VLCиз написан с использованием платформы Cocoa и работает на ОС. Получите отличный опыт работы под X.

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

8. Наконец-то

Вышеупомянутый знаменитый язык C/C++Открытый исходный Библиотеку кодов можно найти на github или скачать Открытый с их официального сайта. исходный кодовый код. Друзья, кому интересно, можете отправить Открытый исходный код Скачайте код, чтобы учиться и учиться! Прочитав Открытый исходный код-код, чтобы узнать об этом Открытый исходный Код Библиотекасерединаиз механизма реализации и подробностей, изучите библиотеку идей программирования. Например, мы можем выучить Открытый исходный библиотека кодасерединамежпроцессный、между потокамиизмеханизм связи,Понимать базовые протоколы и внутреннюю реализацию модулей сетевых коммуникаций.

Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета.,Мнения, выраженные в данной статье, принадлежат исключительно автору. Этот сайт предоставляет только услуги по хранению информации.,нет собственности,Никакая соответствующая юридическая ответственность не предполагается. Если на этом сайте есть какое-либо подозрение на нарушение авторских прав/незаконный контент,, Пожалуйста, отправьте электронное письмо на Сообщите, после проверки этот сайт будет немедленно удален.

Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/230964.html Исходная ссылка: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose