Q: Dynamic Linking vs Static Linking (Yahoo! PhoneScreen)
A:
1. Dynamic linking: resolve references to lib routines, linker adds start-up code to load required libs at run-time, each lib call goes through a jump table. A jump table is patched to point at the lib routine, only overhead here is indirect reference.
2. Static Linking: linted into program during linking phase of compilation
3. Dynamic Linking: verifies symbols linkage, dynamic loader checks which shared libs were linked with the program, loads to memory and attach to the program memory.
Example:
ar –s is (ranlib)
ar –rc *.a *.o
g++ -shared –o lib*.so *.o
g++ -fPIC –c *(.c
ld –lc –o lib*.so *.o
Q: What is Relocation? (Yahoo! Phone Screen)
A: allowing executable and shared obj fiels to hold right info for a process’ program image. It is the process of connecting symbolic ref with symbolic defs. ELF header, program header and section header.
Q: C++ vfpointer and vftable?
A: virtual function table and virtual function table. Whenever there is virtual function in class definitions, these 2 things are needed for dynamic-binding(polymorphism)
分享到:
相关推荐
ARM Compiler Version 5是ARM公司推出的一款针对嵌入式系统开发的编译工具链,它在Keil MDK(Microcontroller Development Kit)中扮演着重要角色。Keil MDK是广泛使用的ARM微控制器开发环境,集成了编译器、调试器...
《ARM Compiler 5 Version 5.6u7与keil5 V5编译器详解》 在嵌入式系统开发领域,编译器扮演着至关重要的角色,它们将程序员编写的高级语言转换为处理器可执行的机器代码。本文将深入探讨 ARM Compiler 5 Version ...
《Design Compiler 用户指南》是由Synopsys公司出版的官方文档,版本为F-2011.09-SP2,发布日期为2011年12月。该指南属于用户手册系列,详细介绍了Design Compiler这款EDA(电子设计自动化)软件的使用方法。Design ...
赠送jar包:commons-compiler-3.0.8.jar; 赠送原API文档:commons-compiler-3.0.8-javadoc.jar; 赠送源代码:commons-compiler-3.0.8-sources.jar; 赠送Maven依赖信息文件:commons-compiler-3.0.8.pom; 包含...
**ARM Compiler Version 5.06 知识详解** ARM Compiler是ARM公司开发的一款高度优化的编译器工具链,专为ARM架构的处理器设计,用于构建高效、高性能的嵌入式软件。版本5.06是这个系列的一个重要里程碑,它在编译...
Design Compiler是一款由Synopsys公司开发的业界标准的逻辑综合工具,它能够将设计描述文件和设计约束文件综合成优化后的门级电路。逻辑综合主要分为三个阶段:转换、映射和优化。转换阶段是将硬件描述语言(HDL)...
在数字IC设计中,Memory Compiler是一款专门用于生成内存(RAM、寄存器文件等)相关代码的软件工具,其使用方法对于确保设计的准确性和高效性至关重要。以下是Memory Compiler使用入门的详细介绍。 首先,RAM的配置...
Closure Compiler是Google开发的一款强大的JavaScript代码优化工具,其主要功能是对JavaScript代码进行压缩和混淆,以提高代码的运行效率和安全性。"closure-compiler-v20171112.jar"是该编译器的一个特定版本,发布...
DoneEx XCell Compiler 使用指南 DoneEx XCell Compiler 是一款功能强大的Excel转换器,可以将Excel文件转换成可执行文件(EXE),保护VBA代码的安全性。本文将对 DoneEx XCell Compiler 的使用方法进行详细介绍。...
** Arm Compiler 5.06 编译器详解** Arm Compiler是ARM公司为基于ARM架构的处理器设计的一款高效、优化的编译工具链。这款编译器版本5.06是专门为开发人员针对ARM处理器进行应用程序开发而设计的,旨在提供最佳的...
ARMCC Compiler Version 5是ARM公司推出的一款针对嵌入式系统开发的专业C/C++编译器,尤其在微控制器(如ARM Cortex系列)领域广泛应用。它为开发者提供了高效、优化的编译工具链,能够将源代码转换为针对特定ARM...
《Design Compiler:深入理解综合与时序分析》 Design Compiler是一款由Synopsys公司推出的业界领先的数字集成电路设计自动化工具,主要用于实现逻辑综合。这个强大的工具能够将高级语言描述的硬件设计(如Verilog...
ARM Compiler v5.01, Build 94, is intended for use as an update for ARM Compiler 5 and ARM DS-5 products, and must be used with a suitable license from one of those products. Multiple feature releases ...
include=%compiler_home%\include;%compiler_home%\PlatformSDK\Include; lib=%compiler_home%\lib;%compiler_home%\PlatformSDK\Lib; path+=%compiler_home%\bin 2.将安装目录复制到VC2010.dat里面的@set VC2010=...
JavaCompiler --JDK6 API 的简介(java动态编译) JavaCompiler 是 Java 中的一个编译器接口,提供了编译 Java 源代码的功能。在 Java SE6 中,JavaCompiler 接口是 javax.tools 包的一部分,提供了标准的方式来...
### Design Compiler Reference Manual: Register Retiming - 深入解析 #### 核心知识点:Register Retiming技术在Design Compiler中的应用 **Design Compiler**是Synopsys公司开发的一款业界领先的综合工具,广泛...
WndRiver_Compiler_Users_Guide_for_arm_xscale_5.6 WndRiver_Compiler_Users_Guide_for_cf_xscale_5.6 WndRiver_Compiler_Users_Guide_for_mips_xscale_5.6 WndRiver_Compiler_Users_Guide_for_ppc_xscale_5.6 ...
ARM Compiler v5.05, Build 169, is intended for use as an update for ARM Compiler 5 products, and must be used with a suitable license from one of these products. This update is not suitable for ...
**ARM SRAM Compiler详解** ARM SRAM Compiler是一款专为嵌入式系统设计的工具,用于生成高效、优化的静态随机存取存储器(SRAM)布局。在ARM架构的微控制器和处理器中,SRAM是至关重要的组成部分,因为它提供运行...
赠送jar包:commons-compiler-3.1.4.jar; 赠送原API文档:commons-compiler-3.1.4-javadoc.jar; 赠送源代码:commons-compiler-3.1.4-sources.jar; 赠送Maven依赖信息文件:commons-compiler-3.1.4.pom; 包含...