Форум программистов, компьютерный форум, киберфорум
Си
Войти
Регистрация
Восстановить пароль
Старый
Cython и C (СИ) расширения Python для максимальной производительности
Запись от py-thonny размещена 20.05.2025 в 11:23 / pythonic man's blog
Показов 4235 Комментарии 0

Нажмите на изображение для увеличения
Название: cbe1753c-0c61-4a5b-b824-ce4ea2e64653.jpg
Просмотров: 36
Размер:	247.6 Кб
ID:	10828
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее черепахи, когда дело касается серьезных нагрузок. Почему так происходит? Все дело в механизмах, которые делают Python таким удобным. Интерпретируемая...
Аватар для py-thonny
Старый
Рейтинг: 3.00. Голосов: 2.
Не возвращайте мне ваши ошибки!
Запись от CoderHuligan размещена 08.07.2024 в 14:51
Показов 2292 Комментарии 35
Метки c, си

Размышления по поводу архитектуры обработки ошибок в коде. Конкретно я использую язык Си и его библиотеку. И примеры будут на чистом Си.
Так вот многие функции стандартной библиотеки кроме полезного значения возвращают код ошибки или NULL.
Но возникает вопрос: а почему...
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 2.
Консольные команды для форматирования исходного кода на C++, JavaScript, HTML и CSS. Сортировка пакетов на Python
Запись от 8Observer8 размещена 18.02.2024 в 16:35 / Блог 8Observer8
Показов 1407 Комментарии 1
Метки c, c++, css, html, javascript, python, си

Содержание блога

Здесь представлены ссылки на утилиты и команды для автоматического форматирования отступов из консоли. Если использовать Far Manager, то консольные команды будут сохранены в подсказчике. Far Manager похож на Total Commander, но можно показывать и скрывать консоль сочетанием клавиш Ctrl+O. Например, достаточно будет ввести команду...
Старый
Рейтинг: 5.00. Голосов: 1.
SSL_accept обязательно оборачивать в неблокирующую обертку!
Запись от Eddy_Em размещена 15.06.2023 в 21:42
Показов 973 Комментарии 0
Метки blocking, c, socket, ssl, си

Как-то не парясь работаю с блокирующими сокетами, используя поллинг. А тут — SSL… И вот никаких проблем не замечал, пока не решил проверить: а если я подключусь обычным соединением без рукопожатия. И тут у меня возникла блокировка на SSL_accept. Пришлось таки сокет делать неблокирующим:
C
1
int client = accept4(fd, (struct sockaddr*)&addr, &len, SOCK_NONBLOCK);
А SSL_accept оборачивать в неблокирующую обертку:
C
1
2
static int timeouted_sslaccept(SSL *ssl){
    double t0
...
Старый
Рейтинг: 2.75. Голосов: 4.
Различаем USB-устройства с одинаковыми VID/PID
Запись от Eddy_Em размещена 11.04.2023 в 17:36
Показов 1624 Комментарии 0
Метки c, stm32, usb, железяки, си

В возне с прототипом спектрографа ESPriF, наткнулся на то, что все мои три железяки (контроллер восьми шаговиков, контроллер объектива Canon и контроллер узла калибровки) абсолютно никак в системе не различаются: те же самые VID/PID/Manufacturer (собственно, эмулирую PL2303). Подсказали мне, что можно завести текстовое поле Interface, которое поможет в дальнейшей идентификации. И вот на "заполнялке азотом" я решил поиграться. Заодно лишний раз оптимизировал...
Старый
Рейтинг: 5.00. Голосов: 3.
CCD_Capture
Запись от Eddy_Em размещена 07.04.2023 в 16:04
Показов 1073 Комментарии 0

Исправил кое-какие баги в CCD_Capture, но таки часть еще осталась: иногда подвисает передача по сети (особенно когда окно двигаешь — видимо, потоки между собой начинают "драться"); в standalone режиме сегфолтится при отключении камеры (т.е. где-то я что-то прошляпил); возможно, еще какие-то невыявленные...
Старый
Рейтинг: 5.00. Голосов: 1.
Библиотек много не бывает
Запись от Eddy_Em размещена 29.03.2023 в 14:51
Показов 855 Комментарии 0

В очередной раз надо "старый новый" автогид делать (практически то же самое, что и на инасановский оптоволоконный спектрограф, но с другим исполнительным механизмом). Решил, что хватит уже одни и те же куски кода туда-сюда таскать, рискуя выдернуть более старую версию с багами. Завел репу improclib и понемногу оформляю код в виде библиотеки. Кстати, с удивлением обнаружил, что у меня уже есть рабочая библиотека для работы с FITS-файлами ☺ Но таки подумал,...
Миниатюры
Нажмите на изображение для увеличения
Название: output.jpg
Просмотров: 212
Размер:	122.5 Кб
ID:	7991   Нажмите на изображение для увеличения
Название: output2.png
Просмотров: 196
Размер:	43.6 Кб
ID:	7992  
Старый
Обмен данными с com-портом
Запись от Olga St-Gor размещена 20.10.2021 в 14:21
Показов 998 Комментарии 0

Здравствуйте, помогите, пожалуйста, написать две задачи для обмена сообщениями с com-портом на СИ

первая:

отправляем в порт сигнал “:S” о готовности, ждем получения ответа о готовности “:S”
после этого отправляем число ххх, которое передается на ком порт...
Старый
Простая реализация матрицы на C
Запись от L0M размещена 16.02.2020 в 04:35
Показов 2523 Комментарии 0

Бывалые Си-шники наверное не найдут в нижеизложенном ничего нового. Однако для начинающих может быть любопытно.

В момент особо острого приступа прокрастинации мне в голову пришла мысль попробовать реализовать на чистом С двухмерный массив (матрицу) в стиле ООП. Чистый С я знаю не так хорошо, как хотелось бы, поэтому было интересно.

Поставленные цели:
  1. Создать тип Matrix2 (двухмерная матрица) и набор функций, которые с ним работают.
...
Аватар для L0M
L0M
Мозгоправ
Старый
Лабораторная работа № 10
Запись от Nikolay K размещена 29.01.2020 в 07:08
Показов 10090 Комментарии 16

Лабораторная работа: 10.
Тема: Алгоритмы сортировки и оценка их сложности.
Файл: Lab10_YaP_2019_1S.pdf

Обратите внимание:
В файлах Source.cpp, Source.cs и *.pas помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю, чтобы не нагромождать эти программы и тем самым не затруднять их восприятие.


Язык: C++.
Среда: Microsoft Visual Studio...
Миниатюры
Нажмите на изображение для увеличения
Название: Блок-схема.jpg
Просмотров: 3273
Размер:	96.1 Кб
ID:	5851   Нажмите на изображение для увеличения
Название: ЛР № 10, задание № 5.jpg
Просмотров: 1978
Размер:	156.5 Кб
ID:	5855  
Вложения
Тип файла: rar 27.12.2019 - ЛР 10.rar (1.26 Мб, 1440 просмотров)
Тип файла: docx Отчет.docx (222.6 Кб, 1348 просмотров)
Аватар для Nikolay K
Старый
Лабораторная работа № 9
Запись от Nikolay K размещена 29.01.2020 в 06:41
Показов 2103 Комментарии 0

Лабораторная работа: 9.
Тема: Типы данных, определяемые пользователем. Структуры и объединения. Многофайловые проекты.
Файл: Lab09_YaP_2019_1S.pdf

Обратите внимание:
В файлах Source.cpp, Source.cs и *.pas помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю, чтобы не нагромождать эти программы и тем самым не затруднять их восприятие.


Язык...
Миниатюры
Нажмите на изображение для увеличения
Название: ЛР № 9, задание № 5.3.jpg
Просмотров: 1324
Размер:	149.0 Кб
ID:	5849  
Вложения
Тип файла: rar 27.12.2019 - ЛР 9.rar (491.7 Кб, 1072 просмотров)
Аватар для Nikolay K
Старый
Рейтинг: 5.00. Голосов: 2.
Лабораторная работа № 8
Запись от Nikolay K размещена 29.01.2020 в 06:20
Показов 1456 Комментарии 0

Лабораторная работа: 8.
Тема: Указатели и ссылки. Имя массива как указатель. Динамические массивы.
Файл: Lab08_YaP_2019_1S.pdf

Обратите внимание:
В файлах Source.cpp, Source.cs и *.pas помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю, чтобы не нагромождать эти программы и тем самым не затруднять их восприятие.


Язык: C++.
Среда...
Вложения
Тип файла: rar 29.11.2019 - ЛР 8.rar (521.3 Кб, 1267 просмотров)
Аватар для Nikolay K
Старый
Лабораторная работа № 7
Запись от Nikolay K размещена 29.01.2020 в 05:57
Показов 1758 Комментарии 1

Лабораторная работа: 7.
Тема: Строки и файлы. Организация работы со строками и файлами.
Файл: Lab07_YaP_2019_1S.pdf

Обратите внимание:
1. В файлах Source.cpp, Source.cs и *.pas помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю,...
Вложения
Тип файла: rar 15.11.2019 - ЛР 7.rar (774.2 Кб, 1330 просмотров)
Аватар для Nikolay K
Старый
Лабораторная работа № 6
Запись от Nikolay K размещена 28.01.2020 в 18:43
Показов 2411 Комментарии 4

Лабораторная работа: 6.
Тема: Подпрограммы. Организация подпрограмм.
Файл: Lab06_YaP_2019_1S.pdf

Обратите внимание:
1. В файлах Source.cpp, Source.cs и *.pas помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю, чтобы не...
Вложения
Тип файла: rar 01.11.2019 - ЛР 6.rar (846.8 Кб, 1491 просмотров)
Аватар для Nikolay K
Старый
Лабораторная работа № 5
Запись от Nikolay K размещена 28.01.2020 в 18:07
Показов 1854 Комментарии 1

Лабораторная работа: 5.
Тема: Структурированные типы данных (массивы).
Файл: Lab05_YaP_2019_1S.pdf

Обратите внимание: В файлах Source.cpp, Source.cs и *.pas помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю, чтобы не нагромождать эти программы и тем самым не затруднять их восприятие.


Язык: C++.
Среда: Microsoft Visual Studio 2019 v16.3.0....
Вложения
Тип файла: rar 18.10.2019 - ЛР 5.rar (533.0 Кб, 1419 просмотров)
Аватар для Nikolay K
Старый
Лабораторная работа № 4
Запись от Nikolay K размещена 28.01.2020 в 17:03
Показов 1502 Комментарии 2

Лабораторная работа: 4.
Тема: Операторы цикла и передачи управления.
Файл: Lab04_YaP_2019_1S.pdf

Обратите внимание: В файлах Source.cpp, Source.cs и *.pas помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю, чтобы не нагромождать эти программы и тем самым не затруднять их восприятие.


Язык: C++.
Среда: Microsoft Visual Studio 2019 v16.3.0....
Вложения
Тип файла: rar 04.10.2019 - ЛР 4.rar (469.3 Кб, 1515 просмотров)
Аватар для Nikolay K
Старый
Лабораторная работа № 3
Запись от Nikolay K размещена 28.01.2020 в 16:46
Показов 1951 Комментарии 2

Лабораторная работа: 3.
Тема: Операторы ветвления и выбора.
Файл: Lab03_YaP_2019_1S.pdf

Обратите внимание: В файлах SOURCE.CPP, SOURCE.CS и *.PAS помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю, чтобы не нагромождать эти программы и тем самым не затруднять их восприятие.


Язык: C++.
Среда: Microsoft Visual Studio 2019 v16.3.0.
...
Вложения
Тип файла: rar 04.10.2019 - ЛР 3.rar (487.2 Кб, 1657 просмотров)
Аватар для Nikolay K
Старый
Рейтинг: 5.00. Голосов: 1.
Лабораторная работа № 2
Запись от Nikolay K размещена 28.01.2020 в 16:37
Показов 1895 Комментарии 3

Лабораторная работа: 2.
Тема: Знакомство со средами программирования. Проектирование программ линейной структуры.
Файл: Lab02_YaP_2019_1S.pdf

Обратите внимание: В файлах Source.cpp, Source.cs и *.pas помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю, чтобы не нагромождать эти программы и тем самым не затруднять их восприятие.


Язык: C++....
Вложения
Тип файла: rar 17.09.2019 - ЛР 2.rar (894.8 Кб, 1871 просмотров)
Аватар для Nikolay K
Старый
Лабораторная работа № 1
Запись от Nikolay K размещена 28.01.2020 в 16:34
Показов 2762 Комментарии 0

Лабораторная работа: 1.
Тема: Различные системы счисления.
Файл: Lab01_YaP_2019_1S-1.pdf


Задание:
Для различных переменных в памяти компьютера выделено следующее количество байт:
1. A - 1 байт, с диапазоном значений от 0 до 255;
2. B - 1 байт, с диапазоном значений от -128 до 127;
3. C - 2 байта, с диапазоном...
Вложения
Тип файла: pdf Lab01_YaP_2019_1S-1.pdf (186.0 Кб, 1281 просмотров)
Тип файла: docx Отчет.docx (33.2 Кб, 854 просмотров)
Аватар для Nikolay K
Старый
Вступление
Запись от Nikolay K размещена 28.01.2020 в 16:28
Показов 1396 Комментарии 0

Решил выложить свои лабораторные работы 1-10 за первый курс, первого семестра (10.09.2019-27.12.2019), одного из Западно-сибирских "ВУЗов" (кавычки добавил не спроста). Так же, по возможности, буду добавлять программы и ответы к контрольным работам. Единственное, что может этому помешать...
Аватар для Nikolay K
Старый
Рейтинг: 3.55. Голосов: 11.
BedvitCOM (библиотека COM/ActiveX) + BedvitXLL (библиотека XLL c C API Functions для Excel) С/С++
Запись от bedvit размещена 06.08.2019 в 18:48
Показов 46818 Комментарии 20
Метки c, c++, com, excel, си

Решил объединить все проекты по данной тематике в одно решение.
Скачать новые версии библиотек XLL и COM на сайте.

Более подробно по компонентам - в отдельных темах (будут линки).

1.BedvitCOM (библиотека COM/ActiveX)

Область применения - COM/ActiveX поддерживающие приложения/языки на Windows (х32, х64).
Реализованы dual-интерфейсы с Automation-совместимыми типами данных (поддержка...
Миниатюры
Нажмите на изображение для увеличения
Название: BedvitCOM_FilterUnicodeChar.PNG
Просмотров: 805
Размер:	50.1 Кб
ID:	5495   Нажмите на изображение для увеличения
Название: BedvitXLL_FilterUnicodeChar.PNG
Просмотров: 710
Размер:	28.3 Кб
ID:	5496   Нажмите на изображение для увеличения
Название: BedvitXLL_КатегорииNew.PNG
Просмотров: 637
Размер:	23.6 Кб
ID:	5499  

Нажмите на изображение для увеличения
Название: BedvitXLL-factorial.PNG
Просмотров: 564
Размер:	18.1 Кб
ID:	5649   Нажмите на изображение для увеличения
Название: BedvitCOM_References.PNG
Просмотров: 462
Размер:	90.0 Кб
ID:	6445   Нажмите на изображение для увеличения
Название: RibbonXLL2.PNG
Просмотров: 352
Размер:	69.2 Кб
ID:	6780  

Нажмите на изображение для увеличения
Название: XLLMenu.PNG
Просмотров: 8697
Размер:	55.3 Кб
ID:	7477   Нажмите на изображение для увеличения
Название: bedvit_ver.PNG
Просмотров: 4458
Размер:	31.0 Кб
ID:	7478  
Изображения
  
Вложения
Аватар для bedvit
Старый
Рейтинг: 5.00. Голосов: 1.
SDL2. Шахматные поля ч.1. Основное окно.
Запись от Rem_ размещена 08.09.2015 в 22:07
Показов 4280 Комментарии 1
Метки c, sdl, си

Привет. В этой статье попробуем создать что-нибудь маленькое и полезное. У шахматистов есть упражнение. Тренер задаёт вслух координату любого поля, ученик должен мысленно представить доску и ответить, какой у поля цвет. Примерно такое и попробуем реализовать, но с изменяемой...
Миниатюры
Нажмите на изображение для увеличения
Название: 2015-09-08 22 02 41.png
Просмотров: 539
Размер:	26.3 Кб
ID:	3362  
Вложения
Старый
Рейтинг: 5.00. Голосов: 16.
Несколько слов о чтении данных с консоли и языке Си
Запись от fasked размещена 08.04.2012 в 13:21
Показов 194674 Комментарии 28

Безопасный ввод данных на Си

Цель данной заметки - показать начинающим, как правильно получать данные, вводимые с консоли. Я довольно часто вижу, что студентам дают задания, в которые входит пункт о проверке ввода. Большинство способов, предлагаемых на форуме, не работают. Почему люди отдают...
Аватар для fasked
Новые блоги и статьи
Аутентификация OAuth в Python
py-thonny 22.05.2025
OAuth (Open Authorization) — это целый стандарт для делегированного доступа. Звучит занудно? Давайте проще: OAuth позволяет приложениям получать доступ к информации пользователя на сторонних сервисах. . .
Хеширование и соль паролей в веб-приложениях C#
stackOverflow 22.05.2025
Когда-то в начале своей карьеры я тоже грешил простейшими подходами к хранению паролей – MD5-хеширование казалось верхом защиты. Но технологии не стоят на месте, вычислительные мощьности растут, и. . .
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL. Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru