笔试面试题14---.h/.exe/.lib/.dll文件

1、 下列有关windows系统的EXE和DLL文件说法错误的是?
A.EXE和DLL文件都是PE文件
B.EXE不能有导出函数,DLL可以有导出函数
C.EXE有x86和x64之分,则DLL没有
D.EXE可以单独运行,DLL则不行

答案解析:BC
PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)
dll是动态链接库,不可直接运行,dll提供库函数给其他程序调用。exe可执行程序,文件可以直接运行。

扩展:
1..h、.lib、.dll文件的关系??
.h:编译时必须
.lib:链接时必须
.dll:运行时必须

.h文件中声明了一些函数接口
.lib/.dll文件: 在静态链接库情况下包含了所有应用程序执行时所需要的函数和数据以及他们的位置,缺点是会使得应用程序体积变得庞大,缺乏灵活性;在动态链接库情况下,它只包含了应用程序执行时所需要的函数和数据,引入库文件.lib包含了函数和数据的名称和位置,起到桥梁的作用,优点是.dll文件可独立存在,节省了内存资源。

2.PE文件的格式??
参考:
http://blog.csdn.net/feidegengao/article/details/16966287
http://www.cnblogs.com/lzjsky/archive/2011/09/22/2184942.html

你可能感兴趣的:(操作系统,面试题)