Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
i7otep9wka
1 / 1 / 1
Регистрация: 13.12.2011
Сообщений: 81
#1

Организация класса (lib.so + header.h) - C++

12.05.2014, 23:04. Просмотров 341. Ответов 1
Метки нет (Все метки)

Есть 3 файла:
  1. main.cpp
  2. header.h
  3. lib.so

Задача сделать стек используя контейнер\класс. Я остановился на class.
Мое видиние решения(Осторожно, ошибки!!!):
  • В .h мы записываем прототипы(класс в нашем случае)
  • В .so добавляем код из хедера #include "header.h"
  • В .so записываем методы класса
  • в мейне - дебаг

мой хедер.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <vector>
#include <cstdlib>
#include <memory>
 
namespace My_lab2{
    class My_stack{
        private:
            int* arr;
            int max;
            int index;
        public:
            //constructor
            My_stack(int n);                
            //destructor
            ~My_stack();
            //setter
            bool Push(int n);
            //getter
            int Pop (int n);
            //empty_check
            bool Is_empty();
            //full_check
            bool Is_full();
    };
}
Библиотеку компилирую так:
Bash
1
gcc -shared -o lib_back.so lib_back.cpp
Вопросы:
Правильный ли у меня подход?
Подскажите, как сделать метод из .so связанным с его прототипом:
библиотека.so
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//#
include "header.h"
...
My_lab2::My_stack::bool Push(int n){
                    if (index == max)
                        return (false);
                    else{
                        arr[index] = n;
                        index++;
                        return (true);
                        }
                }
...
Добавлено через 26 минут
Ошибочка в "библиотека.so"
C++
1
bool My_lab2::My_stack::Push(int n)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2014, 23:04     Организация класса (lib.so + header.h)
Посмотрите здесь:
C++ Как создать header для lib библиотеки?
C++ Написать header file для производного класса class
Ошибка в чтении функции из заголовочного класса (class header) C++
Организация общего класса C++
C++ Организация настроек сложной структуры/класса
ООП. header файл. Функцию объекта вынести в файл класса C++
*.lib C++
C++ scrnsave.lib
C++ lib библиотеки
C++ lib от PureBasic
C++ inline и static lib
C++ VS C++ 2008 - kernel32.lib

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
5465 / 1831 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
12.05.2014, 23:18     Организация класса (lib.so + header.h) #2
Хотел порасписать тут, но вам придется очень многое переделывать. Посмотрите как тут сделано: http://prognotes.ru/blog/dinamichesk...-pod-windows-i
И на будущее: плюсовый код компилируйте с помощью g++ а не gcc.
Yandex
Объявления
12.05.2014, 23:18     Организация класса (lib.so + header.h)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru