zoukankan      html  css  js  c++  java
  • C/C++动态链接

    动态库头文件:sales_item.h

    #ifndef SALES_ITEM_H
    #define SALES_ITEM_H
    #include <iostream>
    class Sales_item {
    public:
            double avg_price() const;
            void setUnits_sold(int units_sold2);
            void setRevenue(double revenue2);
            bool same_isbn(const Sales_item &rhs) const {
                    return isbn == rhs.isbn;
            }
            Sales_item():units_sold(0), revenue(0.0){}
    
    private:
            std::string isbn;
            unsigned units_sold;
            double revenue;
    };
    #endif 

    编译动态链接库 sales_item.cpp:

    #编译源文件

    g++ -c sales_item.cpp -o bin/sales_item.obj

    #编译动态链接库

    g++ -shared -o bin/sales_item.so bin/sales_item.obj

    #include "sales_item.h"
    double Sales_item::avg_price() const {
            if (units_sold)
                    return revenue/units_sold;
            else
                    return 0;
    }
    
    void Sales_item::setUnits_sold(int units_sold2) {
            units_sold = units_sold2;
    }
    
    void Sales_item::setRevenue(double revenue2) {
            revenue = revenue2;
    }

    调用:

    g++ test_sales_item.cpp bin/sales_item.so -o bin/test_sales_item.o
    ./bin/test_sales_item.o

    #include <iostream>
    #include "sales_item.h"
    int main(){
            Sales_item item;
            item.setUnits_sold(300);
            item.setRevenue(2393.5);
            double result = item.avg_price();
            std::cout << result << std::endl;
            return 0;
    }

    参考:http://www.cnblogs.com/zhoutian6214/archive/2008/11/11/1331646.html

  • 相关阅读:
    随笔
    随笔
    第一个存储过程
    mysql 存储过程
    join
    随笔
    玩家注册登录
    mysql 存储二进制数据
    mysql学习
    socket listen/accept
  • 原文地址:https://www.cnblogs.com/haiyupeter/p/2667813.html
Copyright © 2011-2022 走看看