Skip to content

01.10.2012

6

ИЗ по ОС ч.1 — пишем статическую библиотеку на C++

Вначале, пожалуй, напишем отговорку что ниженаписанное не претендует на 100% правильность, это лишь мой способ.
По понятным причинам свою библиотеку я выкладывать не буду (по крайней мере до 5 числа), поэтому напишем библиотеку с функцией нахождения символа с максимальным кодом.

Исходный код примера

VS2012 только вышла, а десятая скорее всего не откроет проект, поэтому будем писать в  старой версии.

Открываем студию, создаем новый проект с++ — консольное приложение

Создание .lib библиотеки
в мастере  выбираем static library и жмем готово.

Далее добавляем в проект файлы заголовка и исходного кода.(maxnum.h и maxnum.cpp)

Начнем с файла заголовка — в нем находится описание функций библиотеки(в нашем случае всего одна функция — findMax), и директивы препроцессора.

так выглядит законченный файл maxnum.h

После описания функции настало время ее реализации — это делаем в maxnum.cpp

Вид файла maxnum.cpp

Сама библиотека готова, но нужно создать консольный проект что бы ее проверить.  После создания проекта его нужно откомпилировать, что бы появилась папка Debug. В нее нужно поместить откомпилированную библиотеку. Для этого идем в свойства проекта библиотеки и во вкладки General — output directory и вписываем ..\console\Debug. Теперь после компиляции библиотека появится в папке Debug проетка console.

Осталось добавить ссылку на библиотеку и заголовочный файл.
Идем в свойства консольного проекта, Common Properties — Add new reference и подключаем библиотеку, после этого идем во вкладку c/c++ general и в поле additional include directories добавляем папку с заголовочным файлом.

Теперь можно включить заголовочный файл в проект добавив #include «maxnum.h» и написания несложного кода вывести заветный результат.

Read more from ОС, Учеба
6 Comments Post a comment
  1. Ветал
    Окт 2 2012

    А кто-то забыл универсальную кодировку))

    Ответить
    • Окт 2 2012

      и кто же он? и что такое «универсальная кодировка»?

      Ответить
    • Ксю
      Окт 3 2012

      эмм, мне тоже интересно, что за кодировка

      Ответить
      • Окт 4 2012

        та то Ветал напутал

  2. Ксю
    Окт 4 2012

    у меня либу не получается добавить =(

    Ответить
    • Окт 5 2012

      можно скачать пример и его подправить

      Ответить

Добавить комментарий для Alex

(required)
(required)

Note: HTML is allowed. Your email address will never be published.

Subscribe to comments