加入收藏 | 设为首页 | 会员中心 | 我要投稿 潍坊站长网 (https://www.0536zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

Coco —— 自动化项目分析与建议

发布时间:2021-01-28 15:02:45 所属栏目:评论 来源:互联网
导读:a0 :全局初始化变量;生命周期为整个程序运行期间;作用域为所有文件;存储位置为data段。 a1 :全局静态未初始化变量;生命周期为整个程序运行期间;作用域为当前文件;储存位置为BSS段。 a2 :全局静态变量 a3 :全局初始化变量;其他同a0。 a4 :局部变量;生命

a0 :全局初始化变量;生命周期为整个程序运行期间;作用域为所有文件;存储位置为data段。

a1 :全局静态未初始化变量;生命周期为整个程序运行期间;作用域为当前文件;储存位置为BSS段。

a2 :全局静态变量

a3 :全局初始化变量;其他同a0。

a4 :局部变量;生命周期为fun函数运行期间;作用域为fun函数内部;储存位置为栈。

a5 :局部易变变量;

14、使用32位编译情况下,给出判断所使用机器大小端的方法。
 

答案12

m和n一起,刚好占用一个字节内存,因为后面是short类型变量,所以在short s之前,应该补一个字节。所以m和n其实是占了两个字节的,然后是short两个个字节,加起来就4个字节,然后联合体占了四个字节,总共8个字节了,最后int h占了四个字节,就是12个字节了

attribute((packed)) 取消对齐

GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。

__attribute__书写特征是:__attribute__前后都有两个下划线,并且后面会紧跟一对括弧,括弧里面是相应的__attribute__参数。

跨平台通信时用到。不同平台内存对齐方式不同。如果使用结构体进行平台间的通信,会有问题。例如,发送消息的平台上,结构体为24字节,接受消息的平台上,此结构体为32字节(只是随便举个例子),那么每个变量对应的值就不对了。

不同框架的处理器对齐方式会有不同,这个时候不指定对齐的话,会产生错误结果

12、inline函数

在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。

大多数的机器上,调用函数都要做很多工作:调用前要先保存寄存器,并在返回时恢复,复制实参,程序还必须转向一个新位置执行C++中支持内联函数,其目的是为了提高函数的执行效率,用关键字 inline 放在函数定义(注意是定义而非声明)的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点上“内联地”展开。

内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。

13、内存四区,什么变量分别存储在什么区域,堆上还是栈上。
 

地理数据泄露时有发生

地理数据具有特定的结构特征和精度要求[13],通常分为矢量数据、栅格数据、数字高程模型(Digital Elevation Model,DEM)、三维模型和实景数据以及导航电子地图等。地理信息保密处理技术是保障涉密地理信息安全应用的关键技术,主要采用特定手段对涉密地理信息的空间位置、精度、属性、相邻关系等进行偏移、变形、伪造、隐藏等处理。脱密后的地理信息数据仍具有一定的敏感属性,往往采用以下两种安全保护手段:

1、地理数据数字水印技术

数字水印技术[14]是信息隐藏的重要手段,通过将数据版权所有者、领取用户等信息按照一定数据规则嵌入到数据中,使成为数据的一部分且不影响原有数据的表达,从而为数据的版权保护、追根溯源、用户区分和完整性认证等提供依据。将数字水印技术应用到地理信息安全保护中时,需要针对特定的数据考虑不同的数字水印模型[15],主要算法分类有:矢量数据数字水印算法[16]从水印嵌入域划分为基于空间域的水印算法和基于变换域的水印算法;栅格数据数字水印算法[17]按数据类型分为遥感影像数字水印算法和栅格地图数字水印算法;DEM数字水印算法[18]按照数据组织方式分为规则格网DEM数字水印算法和不规则三角网数字水印算法。通用地理数据数字水印嵌入基本流程如图2所示。

(编辑:潍坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读