其中需要注意的是:代码段、数据段、BSS段在程序编译期间由编译器分配空间,在程序启动时加载,由于未初始化的全局变量存放在BSS段,已初始化的全局变量存放在数据段,所以程序中应该尽量少的使用全局变量以节省程序编译和启动时间;栈和堆在程序运行中由系统分配空间。 进程 从操作系统的角度简单介绍一下进程。进 ...
分类:
其他好文 时间:
2020-03-15 21:58:31
阅读次数:
71
知识回顾:C语言中 const const 修饰的变量是 只读的,本质上还是变量;(只读变量:可以通过指针修改只读变量中的值) const 修饰的局部变量在栈上分配空间; const 修饰的全局变量在只读存储区分配空间; const 只在编译期间生效,在运行期间无效; const 修饰的变量不是真的 ...
分类:
编程语言 时间:
2020-03-01 23:21:32
阅读次数:
114
符号表是编译期产生的一个hash列表,随着可执行文件在一起 示例程序 符号表包括了变量和函数的信息,以及调试信息,可以通过nm 命令查看符号表 可见这里还包含了位置 , 变量和函数都能看到。 还有debug信息 通过readelf S a.out 可以查看所有符号表头信息 nm 和readelf 还 ...
分类:
编程语言 时间:
2020-02-28 00:59:16
阅读次数:
74
constexpr是C++11中新增的关键字,其语义是“常量表达式”,也就是在编译期可求值的表达式。最基础的常量表达式就是字面值或全局变量/函数的地址或sizeof等关键字返回的结果,而其它常量表达式都是由基础表达式通过各种确定的运算得到的。constexpr值可用于enum、switch、数组长度 ...
分类:
编程语言 时间:
2020-02-20 23:39:47
阅读次数:
77
c++中,声明const int i,是在哪个阶段做到 i只可读的? 正确答案: A 你的答案: C (错误) 编译 链接 运行 以上都不对解析:const用来说明所定义的变量是只读的。 这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。 下面有关回调函数的说法,错误的是? 正确答案: ...
分类:
编程语言 时间:
2020-02-17 21:26:12
阅读次数:
97
泛型:是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。 参数化类型,把类型当做参数一样的传递。 格式: <数据类型> 此处的数据类型只能是引用类型 好处: A:把运行时期的问题提前到了编译期间 B:避免了强制类型转换 C:优化了程序设计,解决了黄色警告线 泛型在哪些地方使 ...
分类:
编程语言 时间:
2020-02-16 20:46:40
阅读次数:
74
virtual是定义C++中虚函数的关键字,这种函数或方法可以被子类继承和覆盖,通常使用动态调度实现。这一概念是面向对象程序设计中(运行时)多态的重要组成部分。简言之,虚函数可以给出目标函数的定义,但该目标的具体指向在编译期可能无法确定。 在面向对象程序设计中,派生类继承自基类。使用指针或引用访问派 ...
分类:
其他好文 时间:
2020-02-11 11:53:14
阅读次数:
83
java使用面向对象的方式来处理异常,它把程序中发生的每个异常分别封装到一个对象中,该对象包含有异常的信息.所有异常的根类是Throwable, Throwable又派生了两个子类,Error和Exception,Exception包括运行时期异常和编译期异常 运行时期异常的特点: ①方法定义中无需 ...
分类:
其他好文 时间:
2020-02-08 13:52:22
阅读次数:
65
Spring提供的 编译期(Idea\Eclipse编译时检查,需设置开启) Null safety检查 : 包级别,参数和返回值非null :包级别,字段默认非空 package info.java 放在需检查的包路径下 ...
分类:
编程语言 时间:
2020-02-08 11:53:38
阅读次数:
71
1、显式接口和运行期多态 (1)简介 面向对象编程总是以显式接口和运行期多态来解决问题。例如: (2)所谓的显式接口 由于w的类型被声明为Widget,因此w需要Widget接口,并且我们可以在源码中找到这个接口,看到源码的样子,所以称为是 显式接口 。 (3)所谓的运行期多态 由于Widget的某 ...
分类:
其他好文 时间:
2020-01-27 19:20:40
阅读次数:
48