pe文件类型精简总结

1 windows下按照标准格式编写dll,然后gcc编译加-shared,生成dll文件。
2 windows linux下均可以将.o文件,使用ar.exe,链接成lib[name].a文件,.a文件用来静态链接,生成.exe文件
  编译时候 gcc -o run.exe main.c libname.a.

  • 提示:dll的c源文件也可以用来当做.a文件的源,但是倒着回去不行。

3 同一个dll文件,可以有两种不同的用法:Loading Library 和 Runtime Library.

  • Loading Library --- 使用函数时候,像正常时候一样,不过头文件中的声明变为:
    __declspec(dllimport) void function_name();其他和平时一样。
    在编译的时候使用gcc -o run.exe main.c DLLNAME.dll直接链接,这个dll为Loading Library。
  • Runtime Library --- 使用函数时候,使用LoadLibrary(), GetProcAddress().等系统调用加载.
    不需要链接。

Linux生成的.so动态链接库,也是一样的。都有两种用法。Linux里面要更加简单。

 

关注:

  1. 在Windows下的编译,链接神马的,为了节省时间我就都用Dev C++编译吧。
  2. 在Linux下的时候分别使用gcc, ld, ar 进行编译,链接,生成静态库。

原文链接: https://www.cnblogs.com/jack204/archive/2011/12/06/2278493.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    pe文件类型精简总结

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/37952

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午2:36
下一篇 2023年2月8日 下午2:37

相关推荐