Java中的Reference 1. 常用四种引用 快速记忆法:“硬(俗称的强引用) 软(SoftReference) 弱(WeakReference) 虚(PhantomReference)” 此处将常说的“强引用”记忆成“硬引用”可以对应到次席的“软引用”(反义词:硬 软)这样更容易记住 a. ...
分类:
编程语言 时间:
2019-02-03 00:55:02
阅读次数:
201
这里要注意的是//向下取整,下次循环时,如果大于查找的数字,start+1。 并且,只能向下取整,如果向上取整。 那么,在比较第一个数时,start = 0 。end = 1。mid = 1。就会进入死循环了。 切记切记。 输出: ...
分类:
编程语言 时间:
2019-02-03 00:56:47
阅读次数:
217
先给一个例子: 其实 new做了一下几件事: 以构造器的prototype属性为原型,创建新对象 将这个新对象传给构造器作为this,执行构造器 如果构造器返回的是对象,则返回这个对象,否则返回第一步创建的那个对象 ...
分类:
编程语言 时间:
2019-02-03 01:03:27
阅读次数:
144
题目:温度转换 I (1) 描述 温度的刻画有两个不同体系:摄氏度 (Celsius) 和华氏度 (Fabrenheit) 请编写程序将用户输入的华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度 转换公式如下,C 表示摄氏度,F 表示华氏度?????????????????????????????? ...
分类:
编程语言 时间:
2019-02-03 01:03:44
阅读次数:
260
解决办法: ...
分类:
编程语言 时间:
2019-02-03 01:04:45
阅读次数:
134
9.1属性声明:weakGNUC通过attribute声明weak属性,可以将一个强符号转换为弱符号。使用方法如下。void__attribute__((weak))func(void);intnum__attribte__((weak);编译器在编译源程序时,无论你是变量名、函数名,在它眼里,都是一个符号而已,用来表征一个地址。编译器会将这些符号集中,存放到一个叫符号表的section中。在一个
分类:
编程语言 时间:
2019-02-03 09:13:03
阅读次数:
155
12.1什么是可变参数宏在上面的教程中,我们学会了变参函数的定义和使用,基本套路就是使用va_list、va_start、va_end等宏,去解析那些可变参数列表我们找到这些参数的存储地址后,就可以对这些参数进行处理了:要么自己动手,自己处理;要么继续调用其它函来处理。voidprint_num(intcount,...){va_listargs;va_start(args,count);for(
分类:
编程语言 时间:
2019-02-03 09:13:51
阅读次数:
187
8.1属性声明:formatGNU通过attribute扩展的format属性,用来指定变参函数的参数格式检查。它的使用方法如下:__attribute__((format(archetype,string-index,first-to-check)))voidLOG(constchar*fmt,...)__attribute__((format(printf,1,2)));我们经常实现一些自己的
分类:
编程语言 时间:
2019-02-03 09:14:32
阅读次数:
166
11.1什么是内建函数内建函数,顾名思义,就是编译器内部实现的函数。这些函数跟关键字一样,可以直接使用,无须像标准库函数那样,要#include对应的头文件才能使用。内建函数的函数命名,通常以__builtin开头。这些函数主要在编译器内部使用,主要是为编译器服务的。内建函数的主要用途如下。用来处理变长参数列表;用来处理程序运行异常;程序的编译优化、性能优化;查看函数运行中的底层信息、堆栈信息等;
分类:
编程语言 时间:
2019-02-03 09:15:02
阅读次数:
268
7.1属性声明:alignedGNUC通过attribute来声明aligned和packed属性,指定一个变量或类型的对齐方式。这两个属性用来告诉编译器:在给变量分配存储空间时,要按指定的地址对齐方式给变量分配地址。如果你想定义一个变量,在内存中以8字节地址对齐,就可以这样定义。inta__attribute__((aligned(8));通过aligned属性,我们可以直接显式指定变量a在内存
分类:
编程语言 时间:
2019-02-03 09:15:39
阅读次数:
177
eval()函数说明:将字符串str当成有效的表达式来求值并返回计算结果,即将str转化为list,tuple,dict。例子:a=‘[1,2,3,4]‘b=‘([1,2],[4],"c")‘c=‘{2,3,4,5}‘print(eval(a),type(eval(a)))print(eval(b),type(eval(b)))print(eval(c),type(eval(c)))输出:[1,2
分类:
编程语言 时间:
2019-02-03 09:16:35
阅读次数:
187
6.1GNUC的扩展关键字:attributeGNUC增加一个atttribute关键字用来声明一个函数、变量或类型的特殊属性。声明这个特殊属性有什么用呢?主要用途就是指导编译器在编译程序时进行特定方面的优化或代码检查。比如,我们可以通过使用属性声明指定某个变量的数据边界对齐方式。attribute的使用非常简单,当我们定义一个函数、变量或类型时,直接在它们名字旁边添加下面的属性声明即可:__at
分类:
编程语言 时间:
2019-02-03 09:17:04
阅读次数:
186
5.1什么是零长度数组顾名思义,零长度数组就是长度为0的数组。ANSIC标准规定:定义一个数组时,数组的长度必须是一个常数,即数组的长度在编译的时候是确定的。在ANSIC中定义一个数组的方法如下:inta[10];C99新标准规定:可以定义一个变长数组。intlen;inta[len];也就是说,数组的长度在编译时是未确定的,在程序运行的时候才确定,甚至可以由用户指定大小。比如,我们可以定义一个数
分类:
编程语言 时间:
2019-02-03 09:17:38
阅读次数:
181
13.1总结前面12节的课程,主要针对Linux内核中GNUC扩展的一些常用C语言语法进行了分析。GNUC的这些扩展语法,主要用来完善C语言标准和编译优化。而通过C标准的发展过程我们又发现,对于一些编译器扩展的一些特性,或者其它编程语言(如:C++)中的好的特性和语法,C标准也会适时地吸收进来,作为新的C语言标准。在GNUC的这些扩展语法中,attribute和宏定义是两大特色。在嵌入式底层系统中
分类:
编程语言 时间:
2019-02-03 09:18:12
阅读次数:
201
10.1属性声明:noinline&always_inline这一节,接着讲attribute属性声明,attribute可以说是GNUC最大的特色。我们接下来继续讲一下跟内联函数相关的两个属性:noinline和always_inline。这两个属性的用途是告诉编译器:编译时,对我们指定的函数内联展开或不展开。它们的使用方法如下。staticinline__attribute__((no
分类:
编程语言 时间:
2019-02-03 09:19:08
阅读次数:
249
4.1typeof关键字ANSIC定义了sizeof关键字,用来获取一个变量或数据类型在内存中所占的存储字节数。GNUC扩展了一个关键字typeof,用来获取一个变量或表达式的类型。这里使用关键字可能不太合适,因为毕竟typeof还没有被写入C标准,是GCC扩展的一个关键字。为了方便,我们就姑且称之为关键字吧。通过使用typeof,我们可以获取一个变量或表达式的类型。所以typeof的参数有两种形
分类:
编程语言 时间:
2019-02-03 09:19:43
阅读次数:
186
A.题意:给定个数为N的数列,从中挑一些不小于L的连续子段,求这些子段当中的数平均值最大是多少? 思路:二分平均值转化为判定。我们直接去求这个>=L的子段当中的最大平均值比较难求。所以我们可以用二分的方法枚举mid,然后在判定这个mid是否合法。 判定方法为,是否存在一个长度大于L的连续子段它的平均 ...
分类:
编程语言 时间:
2019-02-03 10:27:55
阅读次数:
203
练习3-2 计算符号函数的值 (10 分) 对于任一整数n,符号函数sign(n)的定义如下: 请编写程序计算该函数对任一输入整数的值。 输入格式: 输入在一行中给出整数n。 输出格式: 在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。 输入样例1: 10 输出样例1: si ...
分类:
编程语言 时间:
2019-02-03 10:28:49
阅读次数:
2631
已知RSA公钥生成参数: p = 3487583947589437589237958723892346254777 q = 8767867843568934765983476584376578389 e = 65537 求d = 请提交PCTF{d} 已知RSA公钥生成参数: p = 3487583 ...
分类:
编程语言 时间:
2019-02-03 10:32:57
阅读次数:
208
练习3-4 统计字符 (15 分) 本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入格式: 输入为10个字符。最后一个回车表示输入结束,不算在内。 输出格式: 在一行内按照 letter = 英文字母个数, blank = 空格或回车个数, digit ...
分类:
编程语言 时间:
2019-02-03 10:34:13
阅读次数:
306