嵌入式培训
美国上市嵌入式培训机构

400-111-8989

热门课程

嵌入式面试题之什么是预编译?

  • 时间:2017-09-07
  • 发布:嵌入式培训
  • 来源:企业面试题

题一:

什么是预编译,何时需要预编译?

题二:

线程与进程的区别和联系?线程是否具有相同的堆栈?dll是否有独立的堆栈?

思考过后,再到下方寻找答案

题一答案:

1、总是使用不经常改动的大型代码体。

2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。

题二答案:

进程是死的,只是一些资源的集合,真正的程序执行都是线程来完成的,程序启动的时候操作系统就帮你创建了一个主线程。每个线程有自己的堆栈。DLL中有没有独立的堆栈,这个问题不好回答,或者说这个问题本身是否有问题。因为DLL中的代码是被某些线程所执行,只有线程拥有堆栈,如果DLL中的代码是EXE中的线程所调用,那么这个时候是不是说这个DLL没有自己独立的堆栈?如果DLL中的代码是由DLL自己创建的线程所执行,那么是不是说DLL有独立的堆栈?以上讲的是堆栈,如果对于堆来说,每个DLL有自己的堆,所以如果是从DLL中动态分配的内存,最好是从DLL中删除,如果你从DLL中分配内存,然后在EXE中,或者另外一个DLL中删除,很有可能导致程序崩溃。

上一篇:嵌入式面试题之中断与异常有何区别?
下一篇:这嵌入式知识三个问题你都知道吗?

嵌入式面试题三道 考一考

这嵌入式知识三个问题你都知道吗?

嵌入式面试题之什么是预编译?

嵌入式面试题之中断与异常有何区别?

选择城市和中心
贵州省

广西省

海南省