zoukankan      html  css  js  c++  java
  • g++编译生成动态库并使用

    windows版本

    一、生成dll

    1、新建源文件

    myfunction.h

    #ifndef MYFUNCTION_H
    #define MYFUNCTION_H
    #include <iostream>
    
    class Myfunction
    {
    public:
        Myfunction();
        static void log(char info);
    };
    
    #endif // MYFUNCTION_H

    myfunction.cpp

    #include "myfunction.h"
    
    Myfunction::Myfunction()
    {
    
    }
    
    void Myfunction::log(char info)
    {
        std::cout << info;
    }

    2、编译

    打开cmd,执行

    g++ myfunction.cpp -I D:workCppSpaceTestdll  -shared -o myfunction.dll

    -I D:workCppSpaceTestdll 如果不填则默认在当前路径查找依赖头文件

     是否需要使用-fPIC?暂未接触

    3、生成dll

    二、使用dll

    1、将生成的myfunction.dll和myfunction.h放在独立文件夹里

    2、新建main.cpp

    #include <iostream>
    #include "myfunction.h"
    int main(int argc, char *argv[])
    {
        std::cout << "main:" << std::endl;
    
        Myfunction::log('c');
        getchar();
        return 0;
    }

    3、编译

    打开cmd,输入

    g++ myfunction.dll main.cpp -o my.exe

    即可生成my.exe

    4、双击exe测试

    linux版本

    待学习




    长风破浪会有时,直挂云帆济沧海!
    可通过下方链接找到博主
    https://www.cnblogs.com/judes/p/10875138.html
  • 相关阅读:
    生产者消费者问题 一个生产者 两个消费者 4个缓冲区 生产10个产品
    三个线程交替数数 数到100
    c++ 字符串去重
    Java中一个方法只被一个线程调用一次
    GEF开发eclipse插件,多页编辑器实现delete功能
    python-arp 被动信息收集
    ssrf
    TCP
    xxe
    越权
  • 原文地址:https://www.cnblogs.com/judes/p/15228331.html
Copyright © 2011-2022 走看看