关于整个编译过程和库文件的问题
论述1在C中编译器单独编译(Compile)每个源文件(.c)生成相应的目标文件(.obj)链接器链接(Link)各个目标文件(.obj)和资源文件(.res)生成可执行...
论述1
在C中
编译器单独编译(Compile)每个源文件(.c)生成相应的目标文件(.obj)
链接器链接(Link)各个目标文件(.obj)和资源文件(.res)生成可执行文件(.exe)
其中,obj是Complie的产物,同时也是Link的对象,而exe是Link的产物
问题1(可多选)
静态库文件(lib)是
A、Compile的产物
B、Link的对象
C、Link的产物
D、其他(请详细说明)
论述2
link成功会生成可执行文件(exe),此时运行程序(Execute Program)就相当于运行exe文件
问题2(可多选)
动态库文件(dll)是
A、Link的产物
B、Execute时链接的对象
C、其他(请详细说明)
问题3
一个程序从编译、链接、生成可执行文件到运行它,是不是系统自动并且一定会生成lib和dll?
如果不是,如何手动去生成lib和dll? 展开
在C中
编译器单独编译(Compile)每个源文件(.c)生成相应的目标文件(.obj)
链接器链接(Link)各个目标文件(.obj)和资源文件(.res)生成可执行文件(.exe)
其中,obj是Complie的产物,同时也是Link的对象,而exe是Link的产物
问题1(可多选)
静态库文件(lib)是
A、Compile的产物
B、Link的对象
C、Link的产物
D、其他(请详细说明)
论述2
link成功会生成可执行文件(exe),此时运行程序(Execute Program)就相当于运行exe文件
问题2(可多选)
动态库文件(dll)是
A、Link的产物
B、Execute时链接的对象
C、其他(请详细说明)
问题3
一个程序从编译、链接、生成可执行文件到运行它,是不是系统自动并且一定会生成lib和dll?
如果不是,如何手动去生成lib和dll? 展开
2个回答
展开全部
问题1:
BD
D:通过目标文件归档程序(VC++中是lib.exe)和其它方式(例如由dll文件生成lib文件)得到的产物 。
问题2:
AB
问题3:
不一定。首先,一个完整的程序的全编译过程可以仅依赖于现有的库文件,且不在这个程序的编译过程生成库文件。其次,库文件的格式不一定是lib和dll文件。至于手动生成lib和dll,这个和使用的工具相关。例如VC++的命令行可以用编译程序cl.exe编译源文件为目标文件,用归档程序lib.exe连接obj和lib文件生成静态库,用链接程序link.exe链接目标文件和资源文件生成exe和dll。
====
[原创回答团]
BD
D:通过目标文件归档程序(VC++中是lib.exe)和其它方式(例如由dll文件生成lib文件)得到的产物 。
问题2:
AB
问题3:
不一定。首先,一个完整的程序的全编译过程可以仅依赖于现有的库文件,且不在这个程序的编译过程生成库文件。其次,库文件的格式不一定是lib和dll文件。至于手动生成lib和dll,这个和使用的工具相关。例如VC++的命令行可以用编译程序cl.exe编译源文件为目标文件,用归档程序lib.exe连接obj和lib文件生成静态库,用链接程序link.exe链接目标文件和资源文件生成exe和dll。
====
[原创回答团]
参考资料: 原创 + Google确认
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询