美文网首页
Windows命令行编译静态动态库的例子

Windows命令行编译静态动态库的例子

作者: CodingCode | 来源:发表于2023-02-10 05:11 被阅读0次
  1. 库源代码
>cat hello.c
#include <stdio.h>

__declspec(dllexport) void hello(void)
{
    puts("I'm Hello");
}
  1. 主程序
>cat main.c
extern void hello(void);

int main(void)
{
    hello();
    return 0;
}
  1. Makefile
>cat Makefile

hello.obj: hello.c
        cl /c hello.c

hello.a: hello.obj
        lib /out:hello.a hello.obj

hello.dll: hello.obj
        link /dll hello.obj

main: hello.a hello.dll
        cl /Femain_staitc.exe main.c hello.a
        cl /Femain_dynamic.exe main.c hello.lib

clean:
        rm *.obj *.a *.lib *.dll *.exp *.exe

注意这里为了区分static library和import library,把静态库命名成.a扩展名。

相关文章

  • 编译原理与语法(三)——Android.mk

    简单的例子 编译多个共享库 这个会生成libmodule1.so和libmodule2.so两个动态库 编译静态库...

  • Java 调用本地代码库

    什么是动态链接库 C/C++编译出来的库有两种:静态链接库和动态链接库。 静态库后缀名在Windows上是.lib...

  • 静态库

    静态库 静态库动态库简介 .a 静态库:被编译好的二进制文件 静态库:.a, .framework 动态库: .d...

  • Mac 编译 FFmpeg

    1、目标 编译出 ffmpeg、ffprobe、ffplay 三个命令行工具 只产生动态库,不产生静态库 将 fd...

  • Xcode7中创建静态库

    一、静态库和动态库的区别: 静态库和动态库是相对编译期和运行期的,静态库以 .a 和 .framework 形式存...

  • 创建静态库

    一、静态库和动态库的区别: 静态库和动态库是相对编译期和运行期的,静态库以 .a 和 .framework 形式存...

  • iOS静态库和动态库的区别

    iOS开发中静态库和动态库区别: 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程...

  • iOS静态库和动态库的使用

    iOS开发中静态库和动态库区别 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序...

  • iOS 静态库Framework开发(包含静态库,bundle使

    静态库和动态库 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要...

  • iOS开发-动态库加载(实时模块更新)

    动态库和静态库 静态库和动态库是相对编译期和运行期:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改...

网友评论

      本文标题:Windows命令行编译静态动态库的例子

      本文链接:https://www.haomeiwen.com/subject/cyfkkdtx.html