Jun. 26th, 2016


image


развернуть

Ссылки
https://ru.wikipedia.org/wiki/Си_(язык_программирования)

https://www.cplusplus.com/reference/
https://gcc.gnu.org/onlinedocs/
https://docstore.mik.ua/manuals/ru/gcc/index.html
https://www.protocols.ru/WP/gnu-automake
https://www.sao.ru/hq/sts/linux/doc/infocity/GNU_Make_3-79_russian_manual.html
https://www.gnu.org/software/libc/documentation.html
https://clang.llvm.org/docs/LanguageExtensions.html

https://purecodecpp.com/
https://ravesli.com/
http://cppstudio.com/cat/285/
http://cpp-reference.ru/patterns/
https://refactoring.guru/ru/design-patterns/catalog
http://cpp-reference.ru/patterns/creational-patterns/

http://www.c-cpp.ru/
https://prog-cpp.ru/c/
https://www.learncpp.com/
https://ru.wikibooks.org/wiki/Язык_Си_в_примерах
Язык программирования Си
Язык программирования С++
Введение в язык Си
Основы программирования на C++
http://www.cyberguru.ru/programming/cpp/cpp-programming-guide.html?showall=1
Документация по Microsoft C++, C и ассемблеру
Документация по Microsoft Справочник по препроцессору в C/C++
GNU Automake
GNU Make
Руководство Google по стилю в C++

https://habr.com/ru/hub/cpp/
https://m.vk.com/yaprogrammer?q=%23cpp
https://vk.com/cpp_lib
https://t.me/cpp_lib
Самые интересные блоги и сайты для C++ программистов
https://salmer.github.io/CppDeveloperRoadmap/Russian/
Подборка Telegram каналов для программистов
https://t.me/cpp_aggregator
35+ бесплатных ресурсов для начинающих разработчиков С++
Книги по C++, которые можно рекомендовать разработчикам в 2023 году
https://proglib.io/p/cpp-books


Статьи
C++ — это замечательно, и вот почему
Си должен умереть
Коллекционирую вредные советы для С++ программистов
Линус Торвальдс: Критика C++ — Комплексный анализ
C++20 в 2020: Модули
Модульное программирование в C++. Статические и динамические плагины
Безопасное использование C++
Шпаргалка по шаблонам проектирования
Просто о шаблонах C++
О шаблонах в С++, чуть сложнее
Статическое константное дерево на шаблонах C++
С++: работа с таблицами
Просто о сложном — move в языке C++
Генераторы на корутинах C++
Тайные знания: библиотеки для С++
Начинающему сетевому программисту
Простой backend на C++: это возможно?
Разработка веб приложений на C/С++
Работа с очень длинными числами на C++
Создание статической библиотеки на С++ для работы с большими числами
Опции компиляторов
Помоги компилятору помочь тебе
Почему язык C никогда не помешает вам совершать ошибки
Почему с 'using namespace std;' в *.cpp-файлах может быть очень плохо
Использование подсказок, включаемых в исходный код, помогающих GCC выявлять случаи переполнения буфера

Reversing для чайников — ассемблер x86 и код на С (для начинающих/ADHD friendly)
Пошаговый запуск программы в Linux x86, или как добраться до main()?
Углубленное знакомство с пространствами имен Linux. Часть 1
Хрестоматия по программированию на Си в Unix 6.4. Сигналы.

Осваиваем кросс-компиляцию с помощью Clang и LLVM
Кросс-компиляция с Clang – это просто

Codescape MIPS SDK
https://www.mips.com/develop/tools/codescape-mips-sdk/

Ускоренный курс кросс-компиляции MIPS (кросскомпиляция в докере)
https://noobient.com/2020/12/22/mips-cross-compilation-crash-course/
https://mesonbuild.com/Cross-compilation.html


Статьи разное
Базовые алгоритмы на графах

Пишем аудио-разведчик своими руками
SO_TIMESTAMPING в картинках. Прием пакета
Опыт встраивания интепретатора Python-а в C++ приложение посредством pybind11, vcpkg и CMake
Linux и TinyСC в браузере
Отладка C при помощи пакета Cosmopolitan Libc
Актуальный гайд по написанию простого Windows-драйвера
Что находится внутри дампа ядра Linux
Учебник — написание оболочки на языке C

Операционная система в 1 000 строках кода
https://github.com/nuta/operating-system-in-1000-lines
Операционная система в 1 000 строках кода (часть 1)
Операционная система в 1 000 строках кода (часть 2)
Операционная система в 1 000 строк кода (часть 3)
Операционная система в 1 000 строк кода (часть 4)
Операционная система в 1 000 строках кода (часть 5)


Курсы
Основы программирования на языках Си и C++ для начинающих
Основы С++
Основы C++
Основы алгоритмов
Тренировки по алгоритмам 5.0

Язык программирования Си практический курс
http://kpolyakov.spb.ru/download/devcpp_1.pdf
http://kpolyakov.spb.ru/download/devcpp_2.pdf
http://kpolyakov.spb.ru/download/devcpp_3.pdf
http://kpolyakov.spb.ru/download/devcpp_4.pdf
https://djvu.online/file/KbBwLDLrphkNw
https://kpolyakov.spb.ru/school/pycppbook/refs.htm

Программирование на языке си
Основы программирования на языке C
Язык программирования C++
Основы языка C. Курс по программированию
https://younglinux.info/c/course
https://foxford.ru/wiki/informatika
https://unetway.com/tutorials/c
Курс Лекций по Языку Си
Руководство по языку программирования C
https://www.bestprog.net/ru/sitemap_ru/c/
Руководство Google по стилю в C++
https://github.com/evgenykislov/styleguide/blob/gh-pages/cppguide.html
Уроки разработки 64-битных приложений на языке Си/Си++

Белеванцев Андрей Андреевич Алгоритмы и алгоритмические языки
Курс читается в качестве вводного программистского курса на факультете ВМК МГУ
https://teach-in.ru/course/algorithms/about
https://teach-in.ru/course/algorithms/lecture
https://teach-in.ru/file/synopsis/pdf/algorithms-M-3.pdf

http://www.doc.crossplatform.ru/qt/4.7.x/model-view-programming.html
https://webhamster.ru/mytetrashare/index/mtb0

Дорожная карта по изучению C++
https://salmer.github.io/CppDeveloperRoadmap/Russian/
https://github.com/salmer/CppDeveloperRoadmap

Введение в программирование (C++) stepik
Программирование на языке C++ stepik
Программирование на языке C++ (продолжение) stepik
Многопоточное программирование на С/С++ stepik
Добрый, добрый C/C++ с Сергеем Балакиревым

Уроки С++
Системное программирование на языке C — 2017

C++ разработчик skillfactory

https://tproger.ru/tag/c-language/
https://tproger.ru/books/clang-books/
https://coderoad.ru/768704/Отличный-C-учебник
О программировании Gnome: руководство по Gnome

http://live.gnome.org/GnomeLove

https://elixir.bootlin.com/linux/latest/source


шпоры
https://cheatsheets.zip/c
https://cheatsheets.zip/cpp
https://hackingcpp.com/cpp/cheat_sheets.html

руководство для быстрого и результативного старта


Книги
Язык программирования Си Брайан Керниган, Деннис Ритчи 3-е издание
Брайан Керниган, Деннис Ритчи - Язык программирования С (2015) [PDF]
Пол Дейтел, Харви Дейтел | С для программистов с введением в С11 (2014) [PDF]
Харви Дейтел, Пол Дейтел. КАК ПРОГРАММИРОВАТЬ НА С (здесь всё разжевано до мелочей)
https://codernet.ru/books/c_plus/kak_programmirovat_na_c/
Язык программирования C. Лекции и упражнения (6-е изд.) 2015 (fb2)
Дэвид Гриффитс, Дон Гриффитс - Изучаем программирование на C (djvu) - 12_2014.
Шилдт Г. С++ Базовый курс (3-е издание, 2010) (djvu) - 12_2014.
Андрей Богатырев. Руководство полного идиота по программированию (на языке Си)
СИ на примерах. Практика, практика и только практика [Д. М. Кольцов] (pdf) 2019
С++ на примерах Практика, практика и только практика [Павел Алексеевич Орленко] (pdf)
Саттер, Герб. Решение сложных задач на С++. Серия C++ 2008
Язык программирования на C лекции и упражнения. Стивен Прата 6-е издание pdf
Язык программирования C. Лекции и упражнения (6-е изд.) 2015 (fb2)
Программирование на С для начинающих. М. МакГрат 4 издание
Грег Перри, Дин Миллер | Программирование на С для начинающих. 3-е изд
Камран Амини - Экстремальный Cи. Параллелизм, ООП и продвинутые возможности (2021) [PDF]
Камран Амини - Экстремальный Cи. Параллелизм, ООП и продвинутые возможности (2021) [PDF]
https://github.com/PacktPublishing/Extreme-C
Язык С Мастерство программирования Принципы, практики и паттерны Прешерн К. 2023
Красивый C++ 30 главных правил чистого, безопасного и быстрого кода Дж. Гай Дэвидсон Кейт Грегори
Эффективный C. Профессиональное программирование. Сикорд Роберт С 2022
C++ для инженерных и научных расчетов Питер Готтшлинг (2020)
Linux API. Исчерпывающее руководство. Керриск Майкл 2019
Linux API. Исчерпывающее руководство. Керриск Майкл 2019
Практикум: модули ядра Linux Конспект с примерами и упражнения с задачами Олег Цилюрик 2015
Хакинг. Искусство эксплойта. Джон Эриксон 2018
C++17 STL. Стандартная библиотека шаблонов. Яцек Галовиц 2018
Список книг для обучения программированию на C++
Фундаментальные алгоритмы на C++
Подборка книг для программирования на C++
Подборка книг для программирования на C++
Подборка книг для программирования на C++
Подборка книг от автора C++ Бьярне Страуструпа
4 книги Стивена Прата по C и C++

Язык программирования C++. Базовый курс 5 издание
Язык программирования C++. Базовый курс 5 издание
Управление электронными устройствами на C++ (2016) Янта Катупития, Ким Бентли

А.В.Столяров Программирование: введение в профессию. Системы и сети

Роберт Мартин - Чистый код: создание, анализ и рефакторинг (2019) [PDF, EPUB]
Тим Рафгарден - Совершенный алгоритм. Серия из 4 книг (2020-2021) [PDF]
Панос Луридас - Алгоритмы для начинающих. Теория и практика для разработчика (2018) [PDF]
Алгоритмы. Вводный курс (Томас Х. Кормен)
Алгоритмы. Вводный курс Томас Х. Кормен
Алгоритмы. Справочник с примерами на C, C++, Java и Python 2017 Джордж Хайнеман, Гэри Поллис, Стэнли Селков
Роберт Седжвик - Фундаментальные алгоритмы на C++ (5 частей)

https://codelibs.ru/category/c/
https://publications.gbdirect.co.uk//c_book/
http://www.sergebolshakov.ru/METOD_SP.htm
ftp://ftp.micronet-rostov.ru/linux-support/books/programming/C/
https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ru.md#c
https://codernet.ru/books/c_plus/
https://coollib.com/g/comp_prog_c
https://vk.com/itcookies/cpp
http://www.coders-library.ru/files-cat-13.html
https://github.com/kozross/awesome-c
https://github.com/sosachbot/cppthreadhat

ftp://ftp.micronet-rostov.ru/linux-support/books/programming/C/
ftp://ftp.micronet-rostov.ru/linux-support/books/programming/C++/
https://дз.ею/tmp/Bibl_progr_Sb_187kn/


Видео
------------------------------------------------------------------------
loftblog Основы C++
https://www.youtube.com/playlist?list=PLY4rE9dstrJzGC_1IlAwuY806WasvTIAJ
------------------------------------------------------------------------
Сергей Балакирев selfedu
https://proproprogs.ru/c_lang
Язык программирования Си для начинающих
https://www.youtube.com/playlist?list=PLA0M1Bcd0w8w-mqVmBjt-2J8Z1gVmPZVz
С++ с нуля
https://www.youtube.com/playlist?list=PLA0M1Bcd0w8zHoZcf7IWTM4aQESDSErUs
Объектно-ориентированное программирование (ООП) на С++ с нуля
https://www.youtube.com/playlist?list=PLA0M1Bcd0w8xlChMBBUc9leNoOEfn-Y-G
Практика программирования на С++
https://www.youtube.com/playlist?list=PLA0M1Bcd0w8y_QeedN81EZ-GP_WZpBRrh
------------------------------------------------------------------------
#SimpleCode
Основы C++. Программирование для начинающих.
https://www.youtube.com/playlist?list=PLQOaTSbfxUtCrKs0nicOg2npJQYSPGO9r
Объектно-ориентированное программирование (ООП) в C++
https://www.youtube.com/playlist?list=PLQOaTSbfxUtBm7DxblJZShqBQnBAVzlXX
Многопоточное программирование с++
https://www.youtube.com/playlist?list=PLQOaTSbfxUtAc_RpyDiWCHq0YTzLtVSD0
Библиотека стандартных шаблонов
https://www.youtube.com/playlist?list=PLQOaTSbfxUtDWAtIYme5MLZ1l0GTyUYkB
Домашние задания. C++
https://www.youtube.com/playlist?list=PLQOaTSbfxUtC00pId360LAcZN0f2tGLcI
------------------------------------------------------------------------
Denis Markov
С++
https://www.youtube.com/playlist?list=PLbmlzoDQrXVFC13GjpPrJxl6mzTiX65gs
Advanced C++
https://www.youtube.com/playlist?list=PLbmlzoDQrXVEsejzpY_cdnh5TrTlwaHQo
------------------------------------------------------------------------
Тимофей Хирьянов
https://github.com/tkhirianov/cpp_lections_2017
https://github.com/tkhirianov/cpp_1514_2020
https://github.com/tkhirianov/bare_c_oop
Школа 1514
https://www.youtube.com/playlist?list=PLRDzFCPr95fLMvdcV-hEl-42x8LIyjvHA
Курс молодого бойца МФТИ (Язык Си)
https://www.youtube.com/playlist?list=PLRDzFCPr95fLjzcv6nNdjMu_9RcZgIM9U
2020 Алгоритмы и структуры данных (С++)
https://www.youtube.com/playlist?list=PLRDzFCPr95fL_5Xvnufpwj2uYZnZBBnsr
2017-2018 ООП на С++14
https://www.youtube.com/playlist?list=PLRDzFCPr95fItmofHO4KuGjfGtbQtEj-x
------------------------------------------------------------------------
Лекторий ФПМИ
https://t.me/cpp_lects_rus
https://www.youtube.com/@lectory_fpmi/playlists
Продвинутое программирование на С++ (1 курс, осень 2020)
https://www.youtube.com/playlist?list=PL4_hYwCyhAvazfCDGyS0wx_hvBmnAAf4h
Метапрограммирование (4 курс, осень 2023) - Санду Р. А.
https://www.youtube.com/playlist?list=PL4_hYwCyhAvYO01i2gR-prnu4Stvxuf7u
Метапрограммирование, прак. поток 2020 Раед Романов
https://www.youtube.com/playlist?list=PLAfOs9SaH1wzqoWM2U2k_sK1P0VQmWt-U
------------------------------------------------------------------------
Konstantin Vladimirov
C++ базовый курс, MIPT, 2021-2022
https://www.youtube.com/playlist?list=PL3BR09unfgciJ1_K_E914nohpiOiHnpsK
С++ магистерский курс, МФТИ, 2022-23
https://www.youtube.com/playlist?list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h
Практика языка C, 2023-2024
https://www.youtube.com/playlist?list=PL3BR09unfgchRxdDws74aY4mlSk9eYGEs
Standard C++
https://www.youtube.com/playlist?list=PL3BR09unfgcjJ2YUCgh62vgv_1maXcKuS
------------------------------------------------------------------------
selfedu
Язык программирования C/C++ для начинающих
https://www.youtube.com/playlist?list=PLA0M1Bcd0w8w-mqVmBjt-2J8Z1gVmPZVz
Объектно-ориентированное программирование на C++
https://www.youtube.com/playlist?list=PLA0M1Bcd0w8ye84Jmv9yaI5eRTCBTcePE
Практика программирования на С++
https://www.youtube.com/playlist?list=PLA0M1Bcd0w8y_QeedN81EZ-GP_WZpBRrh
------------------------------------------------------------------------
Гоша Дударь
Изучение Си в одном видео уроке за час!
https://www.youtube.com/watch?v=t0_IRViZcHs
Изучение C++ в одном видео уроке за час!
https://www.youtube.com/watch?v=V58rHMUVmDU
Изучение языка Си для начинающих
https://www.youtube.com/playlist?list=PL0lO_mIqDDFX2VcYQrDzrvYpzMVNexrp0
С++ программирование / Уроки C++
https://www.youtube.com/playlist?list=PL0lO_mIqDDFXNfqIL9PHQM7Wg_kOtDZsW
------------------------------------------------------------------------
Uproger C++ задачи и алгоритмы
https://www.youtube.com/playlist?list=PLysMDSbb9Hcw6x52wAGnwZ5qKL-0WbUfL
------------------------------------------------------------------------
Begin End
Язык Си с нуля (для новичков)
https://www.youtube.com/playlist?list=PLBOPkQsFLCR2DWRY74L03FmbRtz_Yy73_
Язык С++ (для новичков)
https://www.youtube.com/playlist?list=PLBOPkQsFLCR2KSJlLE7E1S_WDq-_bUnHB
Язык Си (WinAPI)
https://www.youtube.com/playlist?list=PLBOPkQsFLCR2H7_0Ss0W6y703J_ySRGi_
------------------------------------------------------------------------
Alexander Semenko Базовый курс программирования на С++
https://www.youtube.com/playlist?list=PLlheCABZdy3OZoIh9VwlYUbTSCWwDUee6
------------------------------------------------------------------------
NR.electronics Программирование на языке С
https://www.youtube.com/playlist?list=PL9lkEHy8EJU-AdTbzEOXfy8rtPpg85djo
------------------------------------------------------------------------
From LAMER to Programmer
Программирование на Си с нуля
https://www.youtube.com/playlist?list=PL7KBbsb4oaOn6ekuNGqZxl4-U_Ox81qTx
Программирование на Си продвинутый level
https://www.youtube.com/playlist?list=PL7KBbsb4oaOmyeV840MF_yWaiLkVvAaWC
------------------------------------------------------------------------
cppProsto
Язык программирования Си. Изучение C
https://www.youtube.com/playlist?list=PLdhEOd5Bckb5T5FcYPYlTi-6eoOypRF2d
С/С++ Начало. Что? Где? и Как?
https://www.youtube.com/playlist?list=PLdhEOd5Bckb7ljO0Iqw7xvjVLHL-C1P1L
Язык программирования С++. Изучение C++
https://www.youtube.com/playlist?list=PLdhEOd5Bckb54U_bm9pS3eMQldHDyA8h_
------------------------------------------------------------------------
LessonFirst C, программирование на языке Си
https://www.youtube.com/playlist?list=PLi3gxGWPyGGTty6jBsKl-NDt7uU-WOYuU
------------------------------------------------------------------------
ITc | сообщество программистов
С++
https://vk.com/video/playlist/-101965347_5941
Базовый C++
https://vk.com/video/playlist/-101965347_2590
Лекции C++
https://vk.com/video/playlist/-101965347_5873
Уроки программирования на С++
https://vk.com/video/playlist/-101965347_3755
Курс «Продвинутый C++»
https://vk.com/video/playlist/-101965347_5739
Программирование на языке C++
https://vk.com/video/playlist/-101965347_5828
Программирование на языке С++
https://vk.com/video/playlist/-101965347_3510
Углубленное программирование на C/С++
https://vk.com/video/playlist/-101965347_3509
Изучение С++
https://vk.com/video/playlist/-101965347_3465
Основы С++
https://vk.com/video/playlist/-101965347_3126
Программирование на языке С
https://vk.com/video/playlist/-101965347_5129
Программирование на Си
https://vk.com/video/playlist/-101965347_2972
------------------------------------------------------------------------
Программист86
Уроки в одном видео (Си и Си++ за час)
https://www.youtube.com/playlist?list=PLLnZvlhOi4CzsnbK9FOgnjiB735sis3Un
Язык си с нуля
https://www.youtube.com/playlist?list=PLLnZvlhOi4Cwi9LN1YSqU7ZPERIJvMAfv
Язык C++ с нуля.
https://www.youtube.com/playlist?list=PLLnZvlhOi4CxlPErrIYhchFWFxvgvy9Vd
ООП в C++ для начинающих.
https://www.youtube.com/playlist?list=PLLnZvlhOi4CwVOlha8JF7uHhbNWGN3Y47
Создание игр на языке C++
https://www.youtube.com/playlist?list=PLLnZvlhOi4CwP2h1ADCAR1hpSgrYqPvjs
------------------------------------------------------------------------
narod stream Программирование на C
https://www.youtube.com/playlist?list=PLJTlt64jBcCvN4H91HAK82-3-QwaqnxlF
------------------------------------------------------------------------
Технострим Mail.Ru Group
Углубленное программирование на C/С++ (Техносфера, осень 2018)
https://www.youtube.com/playlist?list=PLrCZzMib1e9qjGLjg83bCksf3N7FIy7jg
С/С++ углубленное программирование
https://www.youtube.com/playlist?list=PLrCZzMib1e9raTDJ5IyuSHe9AmOUHAAsr
------------------------------------------------------------------------
Foxford программирование - C и C++
https://www.youtube.com/playlist?list=PLyaNmlUVKcLq-MBhzTypWXcx_LYH4SZGf
------------------------------------------------------------------------
Next Pro Видеоуроки по программированию на C++ для начинающих и не только
https://www.youtube.com/playlist?list=PLSFKaqzwymbT14SCPfcJLYeGRghGTOOTy
------------------------------------------------------------------------
Сергей Будейкин
С++ базовые уроки программирования
https://www.youtube.com/playlist?list=PL0-ON4z3RPUOAV3gcxEt3ORNgqFHxM6XH
Практическое решение задач на C++
https://www.youtube.com/playlist?list=PL0-ON4z3RPUN8-12vp8koXE6xDXe-G9Su
Методы сортировки на C++
https://www.youtube.com/playlist?list=PL0-ON4z3RPUNhsjr7UOKeEcA-RdbDiZZY
Создание 2D игр на C++
https://www.youtube.com/playlist?list=PL0-ON4z3RPUMYZSufnk7nNya2I54KnCI-
------------------------------------------------------------------------
Azat Kabdullin Алгоритмы, структуры данных и программирование на C++
https://www.youtube.com/playlist?list=PLset6wIBIRR22Mdexn1YlQCibmTRZ5Fqy
------------------------------------------------------------------------
Anton Уроки C++
https://www.youtube.com/playlist?list=PL30625C8F5ADD5BB4
------------------------------------------------------------------------
Полная запись семинара по программированию на С\С++ в УЦ "Специалист".
Лектор: Александр Игоревич Кораблин 2011 год
https://www.youtube.com/playlist?list=PLLSD7y2gvvObCSVY_dOTPS3HiKuFrc-N5
------------------------------------------------------------------------
Белеванцев Андрей Андреевич Алгоритмы и алгоритмические языки
https://teach-in.ru/course/algorithms/lecture
------------------------------------------------------------------------
Byte++
C++
https://www.youtube.com/playlist?list=PLH3y3SWteZd3DOkFxATAIAB1wcAY90dAd
Компьютерные шалости
https://www.youtube.com/playlist?list=PLH3y3SWteZd1aE_-tdZWS1aDx9kwngta4
------------------------------------------------------------------------



Инструменты
web ide
https://ideone.com/
https://www.onlinegdb.com/
http://codepad.org/
https://wandbox.org/
https://www.jdoodle.com/c-online-compiler/
https://www.tutorialspoint.com/compile_c_online.php
https://www.tutorialspoint.com/compile_cpp_online.php
https://rextester.com/l/cpp_online_compiler_gcc
https://cpp.sh/
http://coliru.stacked-crooked.com/
https://github.com/royqh1979/RedPanda-CPP

http://gcc.gnu.org/
https://www.sourceware.org/gdb/
https://www.gnu.org/software/ddd/
https://valgrind.org/
https://clang.llvm.org/extra/clang-tidy/
https://github.com/microsoft/vcpkg

кросскомпиляция
https://mxe.cc/
https://github.com/mxe/mxe
https://www.msys2.org/
http://mingw.osdn.io/
https://www.mingw-w64.org/
https://cygwin.com/
https://justine.lol/cosmopolitan/
Cosmopolitan Libc превращает C в язык с однократной сборкой и возможностью запуска в любом месте

Запуск ARM файлов в Linux
sudo apt install binfmt-support qemu qemu-user-static

Что такое valgrind и зачем он нужен
Clang-Tidy для автоматического рефакторинга кода
Выявляем ошибки в релизе LLVM 13.0.0
https://releases.llvm.org/download.html
https://pvs-studio.com/ru/pvs-studio/
https://cppcheck.sourceforge.io/
https://cpachecker.sosy-lab.org/

https://github.com/charto/nbind


фреймворки и тд
web
https://www.gnu.org/software/cgicc/index.html
https://github.com/drogonframework/drogon
https://www.webtoolkit.eu/wt
https://cutelyst.org/
однофайловый распространяемый веб-сервер

переносимые бинари
https://justine.lol/cosmopolitan/

Фреймворк для преобразования библиотек C в другие языки.
https://github.com/HebronFramework/Hebron



вопросы, ответы, решения
Краткий гайд по использованию GDB
Памятка по отладке при помощи GDB
Знакомство с отладчиком gdb
Отладка с помощью GDB Отладчик GNU уровня исходного кода
Удаленная отладка в Linux при помощи связки GDB-gdbserver

http://cbuilder.ru/index.php?action=forum
https://www.cyberforum.ru/
https://www.cyberforum.ru/cpp-beginners/
https://evileg.com/ru/
https://rsdn.org/?forum/cpp
http://espressocode.top/c-3/
http://espressocode.top/c-2/

Работа с СОМ-портом на Си в linux
мой промпт
void main()
{
this is ГОВНОКОД
}
Перепиши говнокод согласно SOLID на Си


всякое разное
Создание сайта с помощью C++
Сайт на C++ своими руками с помощью библиотеки cgicc
Простой backend на C++: это возможно?
Полноценный веб-сайт на C++ и немного диванной аналитики

Вычисление N-го знака числа Пи без вычисления предыдущих

чтобы запустить программу на Си в качестве скрипта в оболочке Linux, достаточно вставить в начало текста программы строку:
#!/usr/bin/tcc -run
или просто запустить
tcc -run скрипт.c



Полезное
Информатика Миронов Андрей Александрович
https://teach-in.ru/course/informatics/about
Райгородский Андрей Михайлович Комбинаторика
https://teach-in.ru/course/combinatorics/about

Кафедра Высшей Математики и Математической Физики
Санкт-Петербургский Государственный Университет, Физический Факультет
http://math.nw.ru/wp/?cat=78
Как полюбить математику и подружиться с ней на всю жизнь, если ты уже не школьник
для детей
https://teach-in.ru/course/1?tag=лекции&category=math&department=math&termcourse=1_course&term=T1&sort=title_asc
Математика с нуля. От школьной математики до уровня МФТИ!
Комбинаторика для начинающих!
Математика для всех! Авторский курс математики А.В. Савватеевa
https://childrenscience.ru/courses/sav/
всякое
https://www.youtube.com/playlist?list=PL8YZyma552VfJqbePFScuKfOzKH34hFWf

аппаратные бэкдоры в процессорах x86
https://github.com/xoreaxeaxeax/rosenbridge

Репозиторий публичных API
https://github.com/public-apis/public-apis


Разное
https://github.com/topics/c
https://github.com/topics/cpp
https://github.com/topics/borland-cpp
Как написать драйвер GPU в open source без реального оборудования
Разработка драйвера сетевого адаптера для Linux. Часть 1

Пособие по программированию модулей ядра Linux. Ч.1
Пособие по программированию модулей ядра Linux. Ч.2
Пособие по программированию модулей ядра Linux. Ч.3
Пособие по программированию модулей ядра Linux. Ч.4
Пособие по программированию модулей ядра Linux. Ч.5

C2017/Избранные главы C
C2017/Сборка программ на C

Виртуальный COM-порт на STM32 или как управлять контроллером через USB не привлекая внимания санитаров

Создаем сложные интерфейсы и спецэффекты на базе Qt. Часть I

Блог, который представляет собой один исполняемый двоичный файл
https://github.com/nomemory/microblog-c

Пишем свой собственный текстовый редактор
https://viewsourcecode.org/snaptoken/kilo/index.html

Хакер - Учимся анализировать программы для x86 с нуля
Как устроена страничная организация памяти x86_64
Введение в ELF-файлы в Linux: понимание и анализ

компиляция
https://www.sco.com/developers/gabi/latest/contents.html

GNU Automake
GNU Make
http://ftp.gnu.org/pub/gnu/gcc/
https://gcc.gnu.org/onlinedocs/gcc/
https://www.opennet.ru/docs/RUS/gcc/gcc1.html
https://www.opennet.ru/docs/RUS/gcc/gcc2.html
https://gcc.gnu.org/onlinedocs/cpp/index.html
https://gcc.gnu.org/onlinedocs/gcc/index.html
https://gcc.gnu.org/wiki/FAQ
https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html
https://man7.org/linux/man-pages/man7/feature_test_macros.7.html
https://man7.org/linux/man-pages/man1/gcc.1.html
Автоматическая Генерация Конфигураций для Make Сборок (или Лучшее Программирование — Конфигурирование)
Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки
Сборка проектов Си и Си++: от простого к сложному. Часть II. Сборщики

https://wiki.osdev.org/GCC_Cross-Compiler
https://gcc.gnu.org/onlinedocs/gcc/MIPS-Options.html
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html
https://www.altlinux.org/Эльбрус/lcc

Опции компиляторов
https://parallel.uran.ru/book/export/html/15
https://clang.llvm.org/docs/LanguageExtensions.html

https://wiki.ubuntu.com/ToolChain/CompilerFlags
https://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/

http://dmilvdv.narod.ru/AT91SAM9260/ide.html

cmake
https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html
https://kubasejdak.com/how-to-cross-compile-for-embedded-with-cmake-like-a-champ

mesa
https://mesonbuild.com/Cross-compilation.html
https://mesonbuild.com/Machine-files.html

Компилятор компиляторов Bison – первое знакомство
Компиляция. 1: лексер
Компиляция. 2: грамматики
Компиляция. 3: бизон
Компиляция. 4: игрушечный ЯП
Компиляция. 5: нисходящий разбор
Компиляция. 6: промежуточный код
Компиляция. 7: назначение регистров
Компиляция. 8: оптимизация
Компиляция. 9: исполняемый код
Компиляция. 10: компиляция в ELF

qt
https://download.qt.io/official_releases/qt/
https://github.com/qt
https://www.qt.io/blog/qt-6-build-system
https://wiki.qt.io/Cross-Compile_Qt_6_for_Raspberry_Pi
https://wiki.qt.io/Cross-compiling_Qt_6.5_for_both_armhf_and_aarch64_architectures_for_Raspberry_Pi_OS
https://doc.qt.io/qt-6/configure-linux-device.html
https://doc.qt.io/qt-6/cmake-variable-qt-host-path.html
https://embeddeduse.com/2022/04/11/building-qt-6-2-for-old-yocto-versions/
https://src.fedoraproject.org/rpms/qt6-qtbase/blob/rawhide/f/qt6-qtbase.spec
https://marssola.github.io/dev/2021/07/22/qt5-qt6-cross-compiled-part3.html
https://github.com/kevin-strobel/qt6pi3b/blob/master/toolchain.cmake
https://jeremimucha.com/2021/02/cmake-variable-guidelines/
https://doc.embedfire.com/linux/rk356x/Qt/zh/latest/lubancat_qt/install/install_arm_3.html

кросскомпиляция pyqt
https://doc.bccnsoft.com/docs/PyQt5/installation.html
https://gitlab.com/dboddie/pyqt5-for-embedded-linux/-/blob/master/build.sh?ref_type=heads
сборка в чруте версия 5.13
в файле configure.py
заменить
error("%s failed to create %s. Make sure your Qt installation is correct." % (test, out_file))
на
with open(out_file, "w") as f: f.write("shared")
это отключит проверку собранных бинариков и pyqt соберётся на существующем оборудовании


сборка в чруте версия 6.6
https://github.com/Python-PyQt/PyQt-builder/blob/main/pyqtbuild/bindings.py#L109
run_test = True заменить на False это отключит проверку собранных бинариков и pyqt соберётся



go
https://go.dev/doc/install/source
https://translatedby.com/you/getting-started-with-go-golang/into-ru/trans/?page=3
gcc -> go1.4 -> go1.17 -> go1.20

https://www.opennet.ru/docs/RUS/bash_scripting_guide/
https://google.github.io/styleguide/shellguide.html
http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
http://git.savannah.gnu.org/cgit/config.git/plain/config.guess

https://github.com/cheusov/mk-configure

Сборка C++ проектов. Оптимизации компилятора. Inline, constexpr, alignment. Game Engine серии





посмотреть

приёмы кросскомпиляции qt и pyqt
при кросскомпиляция qt5 добавить


и добавить опции сборки



для кросскомпиляции qt6 нужен qt в чруте
при сборке в чруте добавить опции


добавить опции сборки


кросскомпиляция pyqt
в pyqt 6.6.1
http://gitlab.tmispb/open-source/pyqt-builder/-/blob/master/pyqtbuild/bindings.py?ref_type=heads#L128
run_test = True заменить на False это отключит проверку собранных бинариков и pyqt соберётся


в pyqt 5.15.2
http://gitlab.tmispb/open-source/pyqt/-/blob/master/configure.py?ref_type=heads#L2445
заменить
error("%s failed to create %s. Make sure your Qt installation is correct." % (test, out_file))
на
with open(out_file, "w") as f: f.write("shared")
это отключит проверку собранных бинариков и pyqt соберётся


некоторые переменные sip



dpkg-architecture
DEB_BUILD_ARCH=arm64
DEB_BUILD_ARCH_ABI=base
DEB_BUILD_ARCH_BITS=64
DEB_BUILD_ARCH_CPU=arm64
DEB_BUILD_ARCH_ENDIAN=little
DEB_BUILD_ARCH_LIBC=gnu
DEB_BUILD_ARCH_OS=linux
DEB_BUILD_GNU_CPU=aarch64
DEB_BUILD_GNU_SYSTEM=linux-gnu
DEB_BUILD_GNU_TYPE=aarch64-linux-gnu
DEB_BUILD_MULTIARCH=aarch64-linux-gnu
DEB_HOST_ARCH=arm64
DEB_HOST_ARCH_ABI=base
DEB_HOST_ARCH_BITS=64
DEB_HOST_ARCH_CPU=arm64
DEB_HOST_ARCH_ENDIAN=little
DEB_HOST_ARCH_LIBC=gnu
DEB_HOST_ARCH_OS=linux
DEB_HOST_GNU_CPU=aarch64
DEB_HOST_GNU_SYSTEM=linux-gnu
DEB_HOST_GNU_TYPE=aarch64-linux-gnu
DEB_HOST_MULTIARCH=aarch64-linux-gnu
DEB_TARGET_ARCH=arm64
DEB_TARGET_ARCH_ABI=base
DEB_TARGET_ARCH_BITS=64
DEB_TARGET_ARCH_CPU=arm64
DEB_TARGET_ARCH_ENDIAN=little
DEB_TARGET_ARCH_LIBC=gnu
DEB_TARGET_ARCH_OS=linux
DEB_TARGET_GNU_CPU=aarch64
DEB_TARGET_GNU_SYSTEM=linux-gnu
DEB_TARGET_GNU_TYPE=aarch64-linux-gnu
DEB_TARGET_MULTIARCH=aarch64-linux-gnu


некоторые переменные QMAKE
https://doc.qt.io/qt-6/qmake-environment-reference.html
QMAKE_SPEC — короткое имя хоста mkspec, которое разрешено и сохранено вQMAKESPECпеременная во время сборки хоста
QMAKE_VERSION — текущая версия qmake
QMAKE_XSPEC — короткое имя цели mkspec, которое разрешено и сохранено вQMAKESPECпеременная во время целевой сборки
QT_HOST_BINS — расположение исполняемых файлов хоста.
QT_HOST_DATA — расположение данных для исполняемых файлов хоста, используемых qmake.
QT_HOST_LIBS — расположение хост-библиотек
QT_HOST_LIBEXECS — расположение исполняемых файлов, необходимых хост-библиотекам во время выполнения.
QT_HOST_PREFIX — префикс по умолчанию для всех путей хоста
QT_INSTALL_ARCHDATA — расположение общих данных Qt, зависящих от архитектуры.
QT_INSTALL_BINS — расположение бинарных файлов Qt (инструментов и приложений)
QT_INSTALL_CONFIGURATION — расположение настроек Qt. Не применимо в Windows
QT_INSTALL_DATA — расположение общих данных Qt, не зависящих от архитектуры.
QT_INSTALL_DOCS — расположение документации
QT_INSTALL_EXAMPLES — расположение примеров
QT_INSTALL_HEADERS — расположение всех заголовочных файлов.
QT_INSTALL_LIBEXECS — расположение исполняемых файлов, необходимых библиотекам во время выполнения.
QT_INSTALL_LIBS — расположение библиотек
QT_INSTALL_PLUGINS — расположение плагинов Qt
QT_INSTALL_PREFIX — префикс по умолчанию для всех путей
QT_INSTALL_QML — расположение расширений QML 2.x.
QT_INSTALL_TESTS — расположение тестовых примеров Qt
QT_INSTALL_TRANSLATIONS — расположение информации о переводе строк Qt.
QT_SYSROOT — системный корень, используемый целевой средой сборки.

-DBUILD_qtmultimedia=OFF \ - отключить сборку qtmultimedia, также как configure --skip qtmultimedia

https://src.fedoraproject.org/rpms/qt6-qtbase/blob/rawhide/f/qt6-qtbase.spec
-DQT_QMAKE_TARGET_MKSPEC=%{platform}

https://lists.debian.org/debian-qt-kde/2022/04/msg00365.html
-DQT_HOST_PATH=/usr/lib/qt6
https://martchus.no-ip.biz/doc/qt6/qtcmake/cmake-variable-reference.html
QT_HOST_PATH Местоположение установки хоста Qt, из которого можно использовать инструменты хоста во время другой сборки Qt, обычной или кросс-компиляции.
QT_FORCE_BUILD_TOOLS Принудительно создает инструменты, даже если основные инструменты уже найдены. Полезно при кросс-компиляции Qt, чтобы обеспечить наличие в SDK кросс-компилируемых инструментов.
QT_FORCE_FIND_TOOLS Использует инструменты Qt из предварительно встроенного Qt, QT_HOST_PATHкогда вы не выполняете кросс-компиляцию. Переменная вступает в силу только в том случае, если QT_FORCE_BUILD_TOOLSей присвоено значение ON. В противном случае QT_FORCE_FIND_TOOLS это не влияет на поведение по умолчанию.


некоторые переменные CMAKE
https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html
https://man.archlinux.org/man/extra/cmake/cmake-variables.7.en
https://jeremimucha.com/2021/02/cmake-variable-guidelines/
CMAKE_HOST_SYSTEM_PROCESSOR - Имя процессора, на котором работает CMake, uname -m
CMAKE_SYSTEM_PROCESSOR - следует установить переменную в соответствии с целевой архитектурой, которую она указывает
CMAKE_SYSTEM_PROCESSOR=aarch64

CMAKE_PROJECT_NAME – имя, указанное при самом первом вызове проекта.
CMAKE_PROJECT_VERSION – строка полной версии, указанная при самом первом вызове проекта.
CMAKE_PROJECT_VERSION_MAJOR – основной компонент строки версии, передаваемой при самом первом вызове проекта.
CMAKE_PROJECT_VERSION_MINOR – младший компонент строки версии, передаваемой при самом первом вызове проекта.
CMAKE_PROJECT_VERSION_PATCH – компонент исправления строки версии, указанный при самом первом вызове проекта.
PROJECT_NAME – имя, присвоенное последнему вызову проекта.
PROJECT_SOURCE_DIR – каталог последнего вызова проекта.
PROJECT_BINARY_DIR – каталог сборки, соответствующий исходному каталогу самого последнего вызова проекта.
PROJECT_VERSION – строка полной версии, указанная для самого последнего вызова проекта.
PROJECT_VERSION_MAJOR – основной компонент строки версии, указанной при последнем вызове проекта.
PROJECT_VERSION_MINOR – младший компонент строки версии, указанной при последнем вызове проекта.
PROJECT_VERSION_PATCH – компонент исправления строки версии, указанной для самого последнего вызова проекта.

CMAKE_SYSROOT
CMAKE_STAGING_PREFIX - В этой переменной может быть указан путь для установки при кросс-компиляции
CMAKE_PREFIX_PATH - Список каталогов, разделенных точкой с запятой, определяющий установочные префиксы , в которых будет выполняться поиск

https://discourse.cmake.org/t/cmake-staging-prefix-vs-cmake-install-prefix/6485
параметр CMAKE_STAGING_PREFIX не должен устанавливаться проектом, он предназначен для разработчика. В сценариях кросс-компиляции разработчик может смонтировать файловую систему целевого компьютера в файловую систему своего хоста. Возможно, они захотят установить непосредственно в эту смонтированную файловую систему. На хосте путь к базовой точке установки может быть /mnt/raspi/opt/mything, тогда как на целевом компьютере тот же путь будет находиться под /opt/mything. В этом примере вы должны CMAKE_INSTALL_PREFIX установить /opt/mything и CMAKE_STAGING_PREFIX./mnt/raspi/opt/mything


некоторые переменные automake
https://gcc.gnu.org/onlinedocs/gcc/
https://gcc.gnu.org/onlinedocs/gccint/index.html
https://www.protokols.ru/WP/gnu-automake/

CC_FOR_BUILD - на которой собирается
CC_FOR_HOST - для которой собирается
CC_FOR_TARGET - для которой GCC будет создавать код
--build: машина, на которой вы собираете
--host: машина, для которой вы собираете
--target: машина, для которой GCC будет создавать код; флаг --target=TARGET для указания сборки GCC как кросс-компилятора для TARGET

кросскомпиляция
make CC=cross-gcc HOST_CC=gcc

CMAKE_HOST_SYSTEM_PROCESSOR - Имя процессора, на котором работает CMake, uname -m
CMAKE_SYSTEM_PROCESSOR - следует установить переменную в соответствии с целевой архитектурой, которую она указывает
CMAKE_SYSTEM_PROCESSOR=aarch64

В autoconf используется следующая терминология:
build - это система, на которой вы компилируете.
хост — это система, на которой будет работать то, что вы создаете.
target — это то, для чего будет компилироваться создаваемый вами компилятор, и не имеет значения, если компилятор не создается.

Однако в других инструментах, например ptxdist, используется следующая терминология:
хост - это система, на которой вы строите.
цель — это система, на которой будет работать то, что вы создаете.
Таким образом, в зависимости от того, какой инструмент у вас есть, хост означает разные вещи.

Добавляет префикс PREFIX к именам устанавливаемых программ.
--program-prefix=PREFIX
Добавляет суффикс SUFFIX к именам устанавливаемых программ.
--program-suffix=SUFFIX
Запускает команду sed PROGRAM для имен установленных программ.
--program-transform-name=PROGRAM

Не отключать медленное отслеживание зависимостей
–enable-dependency-tracking
Опции, поддерживаемые всеми включенными пакетами можно увидеть по команде configure –help=recursive

Makefile.am — это файл , определяемый программистом, который используется automakeдля создания Makefile.in файла ( .am обозначает автоматическую настройку )

make install может считаться комбинацией make install-exec install-data
install-exec для зависимых от архитектуры файлов и install-data – для остальных
make distcheck


ldconfig библиотеки

ликбез
/opt/mylib/libmy.so
gcc main.o -L/opt/mylib -lmy -lm -o my.out
Параметр -L/opt/mylib сообщает компилятору gcc , что каталог /opt/mylib входит в число тех мест, в которых можно найти статические и разделяемые библиотеки. По умолчанию компоновщик ищет библиотечные файлы в традиционных каталогах, таких как /usr/lib или /usr/local/lib.
Если не указать параметр -L, то компоновщик выполнит поиск только по этим стандартным путям.
Параметр -lmy говорит компилятору gcc, что ему нужно искать файл libmy.a или libmy.so.
Расширение принадлежит разделяемым библиотекам, о которых мы поговорим в следующем разделе.
Обратите внимание на то, по какому принципу выбирается имя. Если, к примеру, передать параметр -lxyz, то компоновщик будет искать в заданных и стандартных каталогах файл libxyz.a или libxyz.so
Параметр -lm сообщает компилятору gcc, что нужно искать еще одну библиотеку с именем libm.a или libm.so.
Параметр -o my.out говорит компилятору gcc, что итоговый исполняемый файл должен называться my.out
Параметр, -fPIC обязателен, если вам нужно создать динамическую библиотеку из набора переносимых объектных файлов
Флаг -static заставляет компоновщик принимать только статические библиотеки, а не общие библиотеки
Параметр -shared нужен чтобы компилятор создал разделяемый объектный файл из переносимых
Для статического связывания необходимо, чтобы в системе существовали архивные версии библиотек .a
разделяемые объектные файлы имеют расширение .so

export LD_LIBRARY_PATH=/opt/mylib - добавить к стандартным поисковым путям каталог /opt/mylib чтобы загрузчик нашел разделяемый объектный файл, а динамический компоновщик загрузил из данного файла все необходимые символы

ar crs libmy.a my1.o my2.o my3.o - архивация переносимых объектных файлов в статическую библиотеку
ar t libmy.a - вывод содержимого статической библиотеки

readelf -s my1.out - Таблица символов исполняемого объектного файла
readelf -hSl my1.out - Содержимое исполняемого объектного файла
objdump -d my1.out - просмотра ассемблерного кода
nm my1.out - Вывод символов, определенных в файле

AST - Дерево абстрактного синтаксиса
clang -c -Xclang -ast-dump filename.c - вывести дерево абстрактного синтаксиса


ldconfig
/lib/ld.so динамический компановщик
/etc/ld.so.conf Файл, содержащий список разделённых двоеточием, пробелом, табуляцией или символом новой строки, каталогов, в которых производится поиск библиотек.
/etc/ld.so.cache Файл, содержащий сортированный список библиотек, найденных в каталогах, заданных в /etc/ld.so.conf.
вызов ldconfig без параметров создаёт /etc/ld.so.cache

https://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN77
https://stackoverflow.com/questions/13428910/how-to-set-the-environmental-variable-ld-library-path-in-linux
LD_LIBRARY_PATH -это предопределенная переменная среды в Linux/Unix, которая задает путь, который компоновщик должен искать при связывании динамических библиотек/общих библиотек.
LD_LIBRARY_PATH содержит разделенный двоеточием список путей, и компоновщик придает этим путям приоритет над стандартными библиотечными путями /lib и /usr/lib . Стандартные пути все равно будут найдены, но только после того, как список путей в LD_LIBRARY_PATH будет исчерпан.
Лучший способ использовать LD_LIBRARY_PATH -это установить его в командной строке или скрипте непосредственно перед выполнением программы. Таким образом, новый LD_LIBRARY_PATH изолирован от rest вашей системы.
export LD_LIBRARY_PATH="/list/of/library/paths:/another/path"
или находясь в той же папке выполнить команду LD_LIBRARY_PATH=. ./service
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/' >> ~/.bashrc
/lib/ld-linux.so.2 --library-path PATH EXECUTABLE
Перейдите в домашнюю папку и отредактируйте .profile Поместите следующую строку в конец
export LD_LIBRARY_PATH=
Сохранить и выйти.Выполните эту команду
sudo ldconfig
sudo vi /etc/bash.bashrc
прокрутите вниз и добавьте:
export LD_LIBRARY_PATH=.
У всех пользователей добавлена переменная среды
ещё вариант
/etc/profile.d.
cd /etc/profile.d
sudo touch myenv_vars.sh
sudo nano myenv_vars.sh
Добавьте это в пустой файл и сохраните.
export LD_LIBRARY_PATH=/usr/local/lib

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/taylor
sudo ldconfig

g++ -L/home/user/myDir -lxyz myprog.cpp -o myprog
Опция -l (в нижнем регистре L) указывает имя библиотеки, а не путь.
Чтобы добавить путь для поиска библиотек, используйте опцию -L

Утилиты для работы с объектными файлами
ar
создаёт статические библиотеки.
objdump
может быть использована для показа всей информации о бинарном объектном файле.
strings
показывает все строковые данные в бинарном файле, содержащие печатные символы.
nm
перечислить символы, определённые в символьной таблице объектного файла.
ldd
перечислить динамические библиотеки, от которых зависит объектный файл.
strip
удалить информацию из таблицы символов.

получить список путей поиска по умолчанию
cpp -v
$(gcc -print-prog-name=cc1) -v
echo | gcc -Wp,-v -x c++ - -fsyntax-only
gcc -xc -E -v -
gcc -xc++ -E -v -
cpp -v /dev/null -o /dev/null
gcc -v -x c -E /dev/null


ссылки
https://github.com/qt
https://download.qt.io/official_releases/qt/
https://riverbankcomputing.com/pypi/simple/
https://pypi.org/project/PyQt6
https://pypi.org/project/PyQt5

https://www.qt.io/blog/qt-6-build-system
https://wiki.qt.io/Cross-Compile_Qt_6_for_Raspberry_Pi
https://wiki.qt.io/Cross-compiling_Qt_6.5_for_both_armhf_and_aarch64_architectures_for_Raspberry_Pi_OS
https://doc.qt.io/qt-6/configure-linux-device.html
https://spec-zone.ru/qt~6.0/configure-linux-device
https://doc.qt.io/qt-6/cmake-variable-qt-host-path.html
https://embeddeduse.com/2022/04/11/building-qt-6-2-for-old-yocto-versions/
https://src.fedoraproject.org/rpms/qt6-qtbase/blob/rawhide/f/qt6-qtbase.spec
https://marssola.github.io/dev/2021/07/22/qt5-qt6-cross-compiled-part3.html
https://github.com/kevin-strobel/qt6pi3b/blob/master/toolchain.cmake
https://jeremimucha.com/2021/02/cmake-variable-guidelines/
https://doc.embedfire.com/linux/rk356x/Qt/zh/latest/lubancat_qt/install/install_arm_3.html
https://git.alpinelinux.org/aports/tree/community/qt6-qtbase/APKBUILD
https://discourse.llvm.org/t/simple-cross-compilation-with-target-fails/65948/7
https://github.com/PhysicsX/QTonRaspberryPi/blob/main/QtRaspberryPi6.6.1/README.md

https://doc.bccnsoft.com/docs/PyQt5/installation.html
https://gitlab.com/dboddie/pyqt5-for-embedded-linux/-/blob/master/build.sh?ref_type=heads

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 17th, 2026 09:23 pm
Powered by Dreamwidth Studios