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 进行编译,链接,生成静态库。
posted @ 2011-12-06 21:27  Jack204  阅读(397)  评论(0编辑  收藏  举报