НА ГЛАВНУЮ РАБОТА КОНТАКТЫ



Описание категории
Главная -> Статьи -> C/C++



Статьи
Работа с библиотеками динамической компоновки (DLL) [Рейтинг: 3127 Автор: n/a]
С самого рождения (или чуть позже) операционная система Windows использовала библиотеки динамической компоновки DLL (Dynamic Link Library), в которых содержались реализации наиболее часто применяемых функций. Наследники Windows - NT и Windows 95, а также OS/2 - тоже зависят от библиотек DLL в плане обеспечения значительной части их функциональных возможностей.

Программирование сокетов [Рейтинг: 3352 Автор: n/a]
Для обеспечения сетевых коммуникаций используются сокеты. Сокет это конечная точка сетевых коммуникаций...

Стиль программирования [Рейтинг: 2347 Автор: n/a]
Наверно сколько людей, столько и стилей написания исходников. Я много читал на эту тему, но, как и следовало ожидать, ничего универсального не нашел...

Макросы в C/С++ [Рейтинг: 2399 Автор: n/a]
Макросы - это препроцессорные "функции" , т.е. лексемы, созданные с помощью директивы #define, которые принимают параметры подобно функциям. После директивы #define указывается имя макроса, за которым в скобках (без пробелов) параметры, отделенные запятыми и определение макроса, отделенное пробелом...

ООП и язык C [Рейтинг: 2123 Автор: n/a]
Эта статья продолжает тему имитации C++ на чистом C. В данной статье я расскажу как в стиле чистого C организовать обработку данных различного типа, которые могут находится "под одной крышей", например в односвязных или двусвязных списках.

C или C++? [Рейтинг: 2047 Автор: Андрей Калинин]
Существуют два диаметрально противоположенных, но одинаково распространенных мнения, которые можно выразить как "C++ это C с классами" и "C++ и C --- разные языки программирования". В общем-то, не важно, какого мнения придерживаться, но интересно иное --- в каких случаях какой из этих языков (или вариантов языка) предпочтительнее...

Оформление класса в виде COM объекта в C++ [Рейтинг: 2609 Автор: n/a]
Оформление класса в виде COM объекта. Допустим у вас есть некоторое приложение, написанное на C++(VC++ если быть корректным). Как оно у вас появилось не суть важно, может быть это ваша старая разработка, может быть вы решили сначала отладить предметную часть. Важно то что вы горите желанием вынести часть классов в объектные модули и оформить их в виде ActiveX, COM и ATL объект ...

QNX: Драйверы. (часть 1) [Рейтинг: 2475 Автор: n/a]
Часть 1: введение в предмет.

Создание простого приложения с плагинами в С++ [Рейтинг: 2561 Автор: n/a]
В этой статье описываются принципы и решения, применяемые при проектировании приложений, которые будут использовать внешние, динамически подключаемые, модули. Эта статья более ориентирована на тех, кто хочет использовать механизмы подключения/отключения функциональности приложения, наподобии механизма Aobe Photoshop или Far, а не просто многократного использования кода в разных приложениях.

Передача сокетов между процессами в C++ [Рейтинг: 2268 Автор: n/a]
Для того, чтобы передать сокет от одного процесса другому, можно воспользоваться функцией WSADuplicateSocket() из Winsock 2...

Файлы в MFC (работа с классом CFile) [Рейтинг: 1710 Автор: n/a]
В данной статье рассказывается как открывать и закрывать файлы, а так же как считывать и записывать в них данные. Класс CFile обеспечивает основные бинарные оперции с файлами. Классы CStdioFile, CMemFile наследованы от CFile и используются для более специфической работы с файлами.

Сколько плюсов у C++? [Рейтинг: 1960 Автор: AvaLANche]
Уже долгое время не прекращаются споры, что лучше: Delphi или C/C++/Visual C++. Причем в большинстве случаев сравниваются две принципиально разные вещи. Ведь до седьмой версии имя Delphi носила лишь среда разработки, а язык ее компилятора был Object Pascal (в Delphi7 борландовцы решили устранить такое упущение, и теперь и язык называется Дельфи). То же самое и с Visual C++: эта IDE "накручена" на Microsoft C/C++ Compiler (cl.exe). Поэтому корректным было бы сопоставление Delphi и Visual Studio или объектного паскаля и C++. Не будем погружаться в дебри Си: тут все довольно понятно, посмотрим лучше, что за зверь C++.

Клавиатурная снифалка на C++ [Рейтинг: 2787 Автор: Николай "GorluM" Андреев]
За английским словом keylogger (key - клавиша, log – вносить в журнал) скрывается не что иное, как клавиатурный шпион. Так можно назвать, например, программу hookdump. Она логирует все нажатия клавиатуры, фиксирует имена открытых окон. В общем, приносит людям немало пользы :). А теперь представь, что такую же утилиту ты напишешь сам. Конечно, она будет немного попроще, но висеть в памяти и записывать все нажатия клавиш в файл она сможет.

C/C++: Пишем процесс-менеджер [Рейтинг: 2692 Автор: Николай "G" Андреев]
Мы научимся не только перечислять и выводить на экран все запущенные на данный момент процессы, но и по-разному манипулировать ими. Научимся "завершать задачу", менять приоритет процесса, его свойства и получать о нем любую информацию. Все эти навыки могут очень пригодиться при написании программ под windows.

Расширения программ MS Office [Рейтинг: 2246 Автор: Сергей Выдров]
Статья о расширении функциональности приложений MS Office с помощью дополнений (add-ins). Рассматривается создание таких дополнений на C++.

C# - разберемся, что же это [Рейтинг: 2044 Автор: Сергей Коломиец]
Рассмотрим сначала, без лишних слов, два примера...

Файлы в MFC (работа с классом CFile) [Рейтинг: 2556 Автор: n/a]
В данной статье рассказывается как открывать и закрывать файлы, а так же как считывать и записывать в них данные. Класс CFile обеспечивает основные бинарные оперции с файлами. Классы CStdioFile, CMemFile наследованы от CFile и используются для более специфической работы с файлами.

Создание классов с потоками [Рейтинг: 1959 Автор: Покрашенко Александр]
Встречая в форумах вопросы о том, как создавать классы с потоками, я решил написать эту статью. Вся проблема состоит в том, что для создания потока, необходимо передать адрес функции потока, а передать адрес функции, которая является членом класса нельзя. Можно завести статическую функцию, но тогда теряется смысл создавать классы, так как не получится использовать все возможности ООП при таком подходе...

Класс для использования библиотеки UNRAR.DLL [Рейтинг: 1798 Автор: Алимов Рустем]
Часто в программах перед использованием каких-либо данных требуется разархивация файлов. Ставший уже почти стандартом RAR предлагает для этих целей библиотеку UNRAR.DLL. Данный класс использует динамическую загрузку библиотеки, что позволяет программам выполнять основную часть своей работы без ее наличия.

Альтернативные средства разработки для Windows [Рейтинг: 2432 Автор: Петр Каньковски]
Бесплатные средства разработки, основанные на C и C-подобных языках (MinGW, LCC32-Win, Digital Mars), и на Pascal (Free Pascal). Сравнение оптимизации, многочисленные ссылки.

Обработка исключений в C++ [Рейтинг: 1720 Автор: n/a]
Язык С представляет программисту очень ограниченные возможности обработки исключений, возникших при работе программы. В этом отношении С++ намного развитее С. Здесь у программиста существенно большие возможности по непосредственной обработке исключений...

Ханойская башня [Рейтинг: 2193 Автор: n/a]
Статья из цикла "Алгоритмы". Реализация широко известной задачи о Ханойских башнях...

Определение типа процессора [Рейтинг: 2571 Автор: n/a]
В статье рассказывается, как определить тип, модель, производителя и характеристики процессора (или процессоров в случае многопроцессорной конфигурации). Приведенные теоретические сведения подкреплены практической разработкой - вам будет предложен класс С++, который поможет правильно определить параметры процессоров, установленных в системе...

Друзья в C++ [Рейтинг: 2055 Автор: n/a]
Одно из основных преимуществ ООП - инкапсуляция данных в классе. Вы ознакомились со множеством примеров этой концепции скрытия данных в предыдущих листингах и ее выгодами, связанными с уменьшением работы по поддержке программы и более легкой отладкой...

Как вставлять в программу на C++ двоичные константы? [Рейтинг: 1715 Автор: Александр Шаргин]
В языке C++ есть восьмеричные, десятичные и шестнадцатеричные константы. А двоичных - нет. Тем не менее, при помощи препроцессора можно соорудить макрос, который позволит нам смоделировать такие константы. Основная идея - преобразовывать восьмеричную константу в двоичную, выделяя из неё отдельные ци...

Как задать переменное число параметров в #define? [Рейтинг: 1872 Автор: Игорь Ткачёв]
Этот способ предложил Dmitry A. Senkevich (2:5020/1300) в конференции RU.VISUAL.CPP,сорвав при этом бурные и продолжительные аплодисменты.

Строки в С и С++ [Рейтинг: 2131 Автор: Сергей Аристов]
Это первая часть, в которой обсуждаются «традиционные» строки в С. В С++ существуют более удобные механизмы для работы со строковыми данными, эти механизмы рассматриваются во второй части статьи. А зачем вообще обсуждать неудобные С-строки, если есть С++? К сожалению, совсем забыть о строках в стиле С нельзя по двум причинам: 1. существует большое библиотек (например, API операционных систем) работающих именно с С-строками2. строковые классы в С++ все равно основаны на традиционных С-строках, и если мы хотим разобраться в том, как они работают, нам придется понимать их основы.

Автоматическое выделение памяти [Рейтинг: 1460 Автор: Алексей Ширшов]
Эти классы родились по многочисленным просьбам трудящихся программистов сообщества RSDN. Они не являются аналогами CAutoBufBase и CAutoBuf<> соответственно, и предназначены совершенно для других задач. Они могут серьезно упростить код, который должен работать с большими массивами данных, затрачивая минимум ресурсов (памяти). Другими словами, память будет выделяться тогда, когда нужно, и в том объеме, в котором нужно.

Автоматическое выделение памяти [Рейтинг: 1531 Автор: Алексей Ширшов]
Исходные тексты классов

Статистика использования памяти. Реализация в ascLib. [Рейтинг: 1490 Автор: Станислав Михайлов]
Иногда на этапе окончательной отладки кажется, что программа работает безошибочно… но как-то слишком медленно. Конечно, можно посоветовать заказчику сделать очередной upgrage, но вряд ли подобное предложение его обрадует. Поэтому, лучше для начала попытаться понять, что же приводит к замедлению рабо...

Реализация сборки мусора на С++ [Рейтинг: 1521 Автор: Михаил Чащин]
В данной статье мы рассмотрим обобщённую реализацию сборки мусора на С++. Будут обсуждены два конкретных алгоритма сборки мусора – “Mark-Sweep” и “Mark-Compact”, и их реализация. Мы также рассмотрим ограничения, которые накладываются на приложения при использовании сборки мусора, и изменения в компи...

QuickHeap [Рейтинг: 1543 Автор: Чистяков Владислав]
Демонстрационный проект (VC7, C#)

Заметка о некоторых особенностях использования STL в DLL [Рейтинг: 1560 Автор: Роман Хациев]
Если вы пытались работать с экземплярами классов STL, передавая их в DLL, или получая оттуда, а потом бросили это занятие из-за непонятных ошибок, возникающих в вашей программе, то эта заметка для вас. Даже если видимых проблем в вашей программе нет, то все равно прочитайте эту заметку, чтобы знать что делать, когда они появятся :)

Руководство по стандартной библиотеке шаблонов (STL) [Рейтинг: 1587 Автор: Михаил Гусаров aka MAG]
Рассуждения на тему обобщения некоторых конструкций STL и неполной совместимости компиляторов со стандартом C++

Руководство по стандартной библиотеке шаблонов (STL) [Рейтинг: 1745 Автор: Александр Степанов]
Стандартная Библиотека Шаблонов предоставляет набор хорошо сконструированных и согласованно работающих вместе обобщённых компонентов C++. Особая забота была проявлена для обеспечения того, чтобы все шаблонные алгоритмы работали не только со структурами данных в библиотеке, но также и с встро...

Q&A: lvalue и rvalue [Рейтинг: 1350 Автор: Павел Кузнецов]
lvalue и rvalue - что это такое.

Deep C++. Operation: static_cast [Рейтинг: 1556 Автор: Robert Schmidt]
Судя по группам новостей, посвященных C++, разница между четырьмя операторами приведения типа

Анатомия C Run-Time, или Как сделать программу немного меньшего размера [Рейтинг: 1497 Автор: Виталий Брусенцев]
Статья посвящена вопросам оптимизации размера выполняемых модулей, генерируемых различнымикомпиляторами C++ (основное внимание уделено MS Visual С++). С этой целью рассматриваются особенности Библиотеки исполнения C/C++ и ее реализаций, а также процессы компиляции и компоновки приложений. Приведены практические приемы, позволяющие в ряде случаев уменьшить размер приложения до величины 3-4 килобайта.

Свойства в С++ [Рейтинг: 1404 Автор: Денис Майдыковский]
В этой статье автор рассматривает различные способы реализации свойств встиле Visual Basic на C++. Некоторые способы специфичны для Visual C++,тогда как другие годятся для применения в любой программе, написанной наязыке C++.

Симуляция частичной специализации [Рейтинг: 1215 Автор: Павел Кузнецов]
Время от времени при работе с шаблонами возникает необходимость специализировать шаблон класса по одному из аргументов. В качестве примера можно рассмотреть шаблон классов матриц, параметризованный типом элемента и размерами матрицы. Однако некоторые компиляторы не поддерживают частичную специализацию, и, как следствие, «не понимают» подобные конструкции. Желание получить эквивалентную функциональность при работе с такими компиляторами приводит к технике, описанной ниже.

Реализация сборки мусора на С++ [Рейтинг: 1297 Автор: Михаил Чащин]
В данной статье мы рассмотрим обобщённую реализацию сборки мусора на С++. Будут обсуждены два конкретных алгоритма сборки мусора – “Mark-Sweep” и “Mark-Compact”, и их реализация. Мы также рассмотрим ограничения, которые накладываются на приложения при использовании сборки мусора, и изменения в компи...

Обработка событий в С++ [Рейтинг: 1510 Автор: Алексндр Клюев]
Демонстрационный проект - events.zip

Мультиметоды и С++ [Рейтинг: 1458 Автор: Клюев Александр]
Мультиметоды - виртуальные функции, принадлежащие сразу нескольким классам. В статье разбирается суть мультиметодов, их особенности, а также возможная реализация мультиметодов на C++.

Делегаты на C++ [Рейтинг: 1382 Автор: Александр Шаргин]
Делегаты в CLR удобны, типобезопасны и эффективны. Последнее время на форумах RSDN часто поднимается вопрос о том, можно ли реализовать делегаты с аналогичными свойствами, оставаясь в рамках "чистого" C++. Оказывается, это вполне возможно. В этой статье я покажу, как это сделать.

Заливка замкнутой области [Рейтинг: 2053 Автор: n/a]
Заливка замкнутой области.

Алгоритм Брезенхема построения окружности. [Рейтинг: 2608 Автор: n/a]
Алгоритм Брезенхема построения окружности.

Вывод линии. Алгоритм Брезенхема [Рейтинг: 1670 Автор: n/a]
Принцип Брезенхема состоит в том, чтобы с каждой итерaцией двигаться на одну точку по той оси проекция на которую больше...

Быстрый вывод треугольника [Рейтинг: 1638 Автор: n/a]
Возьмем любой треугольник. Его изображение на экране - набор горизонтальных отрезков, причем из-за того, что треугольник - фигура выпуклая, каждой строке экрана соответствует не более одного отрезка. Поэтому достаточно пройтись по всем строкам экрана, с которыми пересекается треугольник (то есть, от минимального до максимального значения y для вершин треугольника), и нарисовать соответствующие горизонтальные отрезки...

Текстурирование [Рейтинг: 1554 Автор: n/a]
Текстурирование.

Поворот битмапа на любой угол без использования GetPixel/SetPixel [Рейтинг: 1876 Автор: n/a]
Поворот битмапа на любой угол без использования GetPixel/SetPixel.

Работа с библиотеками динамической компоновки (DLL) [Рейтинг: 1627 Автор: Андрей Уваров]
С самого рождения (или чуть позже) операционная система Windows использовала библиотеки динамической компоновки DLL (Dynamic Link Library), в которых содержались реализации наиболее часто применяемых функций. Наследники Windows - NT и Windows 95, а также OS/2 - тоже зависят от библиотек DLL в плане обеспечения значительной части их функциональных возможностей...

C++, C#, C? [Рейтинг: 1898 Автор: Сергей Коломиец]
Язык C# был выпущен в середине 2000 года группой программистов компании Microsoft под руководством небезызвестного в програмистских кругах человека Anders Hejlsberg. Того самого, кто создал Turbo Pascal и Delphi...

C или C++? [Рейтинг: 1719 Автор: Андрей Калинин]
Существуют два диаметрально противоположенных, но одинаково распространенных мнения, которые можно выразить как "C++ это C с классами" и "C++ и C --- разные языки программирования"...

Совершить покупку
Быстрый переход
Последние исходники
Последние статьи
Популярные исходники
Популярные статьи
Работа (new!)
Форум
Добавить исходник
Ссылки
Проекты
Программирование игр
PCControl

Статьи по разделам
.NET[34]
Access[8]
ActiveX[4]
ADO[9]
ASP (ASP .NET)[37]
Assembler[16]
BDE[16]
C#[23]
C++ Builder (Borland)[24]
C/C++[53]
CGI[3]
COM[34]
dBASE, DBF[7]
Delphi[213]
DirectX[9]
FoxPro (Visual FoxPro)[1]
Interbase[12]
Java/JavaScript[22]
Kylix[17]
MSSQL[4]
MySQL[13]
OLE[2]
OpenGL[7]
Oracle[7]
Pascal[8]
Perl[25]
PHP[82]
Python[6]
Sockets[12]
SQL[17]
Visual Basic (Microsoft)[57]
Visual C++ (Microsoft)[46]
WinAPI[26]
XML[12]
Алгоритмы[41]
Базы данных[105]
Видео[26]
Интернет-технологии[55]
Интерфейс[10]
Интерфейс пользователя[33]
Криптография[9]
Объектно - ориентированное программирование[8]
Программирование игр[5]
Проектирование[3]
Работа с периферией[2]
Работа со звуком[7]






Rambler's Top100 Service

Besthosting.ua предоставляет хостинг этому сайту. Copyright (C) 1996-2017 All rights reserved.