Исходный код библиотеки - 260 KB, RSDN.ru
Домашняя страница ascLib, optim.su
ascLib - freeware-библиотека, расширяющая ATL. Это не конкурент WTL. В ней только базовые классы, такие как динамические массивы, строки, работа с картинками, stream'ами и т.д. Документации почти нет, но если кто захочет помочь в её создании, добро пожаловать.
Проверено в VC6 и 7, при грамотном использовании не цепляет CRT.
Теперь необходимо подключить к проекту ascLib. ascLib не имеет в своем составе библиотек кроме одной отладочной DLL. Поэтому подключим заголовочные файлы с помощью директивы #include. Для начала необходимо поместить путь к ascLib в путь включаемых файлов (Tools\Options->Directories->Show directories for:Include files - см. рисунок ниже).
Откроем с помощью закладки «FileView» файл stdafx.h и изменим его так, чтобы он выглядел следующим образом:
// stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, // but are changed infrequently #if !defined(AFX_STDAFX_H__5557C757_2FF7_46B3_B31A_37FC04A89D40__INCLUDED_) #define AFX_STDAFX_H__5557C757_2FF7_46B3_B31A_37FC04A89D40__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define STRICT #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0400 #endif #define _ATL_APARTMENT_THREADED #include <atlbase.h> //You may derive a class from CComModule and use it if you want to override //something, but do not change the name of _Module // >> #include "ascLibInit.h" // << extern CComModule _Module; #include <atlcom.h> // >> #include "ascLib.h" #include "ascArray.h" #include "ascCollectionImpl.h" // << //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__5557C757_2FF7_46B3_B31A_37FC04A89D40__INCLUDED) |
Вставленные фрагменты отмечены жирным и заключены в комментарии "// >>" и "// <<". Учтите, порядок вставки очень важен!
Теперь в конец файла stdafx.cpp вставте строчку:
#include "ascLib.cpp" |
С некоторого момента ascLib обзавелась общей отладочной DLL-библиотекой. Она нужна только на стадии отладки. При запуске DEBUG-версии проекта эта библиотека должна находиться или в путях компьютера или в том же каталоге, что и отлаживаемая программа. Если вам доставляет неудобство ее использование, то просто объявите директивой #define (или в переменной debug-версии проекта) следующую константу _NO_ASCDEBUGBREAKONFAILURE. Это отключит расширенные отладочные функции ascLib и упростит вам жизнь. Если вы этого не сделали, необходимо добавить ascLib в список библиотек в настройках проекта на закладке Link (см. рисунок ниже).
Вот и все. Теперь можно использовать ascLib.
Никакой техподдержки не обещаем, но если будут вопросы и предложения, обращайтесь tcs@optim.su.
Всех заинтересовавшихся приглашаем связаться с нами по адресу audit@optim.su или по тел. (095)180-0201 (Москва). Мы будем благодарны за сообщения об ошибках и недостатках программы, а также за ваши пожелания.