Мне не нравится современный пользовательский интерфейс Linux Ubuntu, но в то же время мне нравится более классический интерфейс Linux Mint 18.3, построенной (согласно официальной информации) на базе Ubuntu 16.04. Поэтому на моём ноутбуке установлен Linux Mint 18.3.
Программирование, настройка и администрирование CAD систем
Показаны сообщения с ярлыком C. Показать все сообщения
Показаны сообщения с ярлыком C. Показать все сообщения
понедельник, 26 марта 2018 г.
вторник, 17 декабря 2013 г.
getc и fgetc: в чём различие?
В языках C и С++ функции getc и fgetc делают одно и то же: читают из указанного потока очередной символ. Однако в виду того, что getc может быть реализована в виде макроса, мы получаем следующие особенности использования указанных выше функций (см. "Advanced Programming in the UNIX Environment, 3rd Edition", стр. 151):
пятница, 2 августа 2013 г.
Использование в коде C библиотек, написанных на C++
На C++ можно писать библиотеки, которые можно было бы использовать в др. языках программирования, в т.ч. не являющихся объектно ориентированными. В частности, меня интересовал вопрос о написании на C++ таких библиотек, которыми можно было бы воспользоваться в C. Я в курсе о том, что следует использовать extern "C", однако этим дело не заканчивается, поскольку по ходу реализации такой библиотеки выявляется большое количество подводных камней, которые следует как-то обходить.
суббота, 29 июня 2013 г.
Создание DLL консольными средствами Visual Studio
MS Visual Studio имеет графический интерфейс для разработки приложений и управления их проектами и решениями. Однако за кулисами всё выполняется консольными утилитами, так же входящими в состав этой IDE. В данной заметке я покажу маленький пример создания dll файла консольными средствами MS Visual Studio, с последующим его использованием в другом приложении. В качестве языка программирования использован C++. Весь приведённый ниже программный код можно набирать в любом текстовом редакторе (я использовал Notepad++).
воскресенье, 28 октября 2012 г.
Шифр Виженера на C89
Написал на C маленькую программку по шифрованию/расшифровыванию любых файлов, с использованием шифра Виженера. Программа очень простая и подходит для защиты от обычных пользователей (не хакеров). Размеры исходного и зашифрованного файлов совпадают. Для шифрования/дешифровки используется один и тот же ключ (произвольная строка текста).
Любопытный момент: эту программку можно использовать для шифрования/расшифровывания файлов по принципу "одноразового блокнота" - в этом случае мы получаем абсолютную криптографическую стойкость, т.е. информация защищена на 100% от кого угодно, в т.ч. от хакеров и спецслужб. Однако вряд ли кому-то из нас потребуется такого уровня защита, поэтому можно ограничиться произвольным ключом шифрования (главное - самому его не забыть).
пятница, 15 июля 2011 г.
Реверс строки на Си без использования дополнительного буфера
В интернете прочитал, что в одной компании при собеседовании с программистом (на тему приёма на работу), ему, помимо всего прочего, задают небольшую задачку на Си, которую нужно быстро решить (автор пишет, что должно быть не более 5 строк кода).
воскресенье, 12 июня 2011 г.
Использование структуры определённой в др. файле
Как известно, в языке C управлять областью видимости глобальных переменных и функций следует с помощью ключевого слова static - если они объявлены как static, то область их видимости ограничивается c-файлом, в котором они определены, в противном же случае они могут быть доступны во всех c-файлах, в которых объявлены с помощью ключевого слова extern (не путать объявление с определением).
Подписаться на:
Сообщения (Atom)