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



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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C или C++? [Рейтинг: 1749 Автор: Андрей Калинин]
Существуют два диаметрально противоположенных, но одинаково распространенных мнения, которые можно выразить как "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.