小编pra*_*mic的帖子

如何用Python保存数据?

我正在使用Python编写一个程序,希望用户能够保存他们正在处理的数据.我看过cPickle; 它似乎是一种快速简便的数据保存方式,似乎不安全.由于可以腌制整个函数,类等,我担心流氓保存文件会将有害代码注入程序.有没有办法可以阻止这种情况,或者我应该考虑其他保存数据的方法,例如直接转换为字符串(这似乎也是不安全的),或者创建XML层次结构,并将数据放入其中.

我是python的新手,所以请耐心等待.

提前致谢!

编辑:至于我存储的数据类型,主要是字典和列表.名称,速度等信息现在相当简单,但未来可能会变得更加复杂.

python save data-structures

14
推荐指数
2
解决办法
2万
查看次数

确定ARMv7-A上当前处理器模式的简单方法

在ARMv7-A处理器上,我正在寻找一种从任何模式确定处理器的当前模式(用户,主管,IRQ等)的简单方法。这将使我能够动态决定是否执行某些操作,例如打主管电话或直接执行操作。

乍一看,这似乎很简单。在CPSR含有(M)模式比特,其确定处理器模式。

《 ARMv7-A体系结构参考手册》的修订版Cb的第1150页的B1.3.3节(程序状态寄存器)指出:

该字段只能写入PL1或更高版本。可以在任何模式下读取其值,但是ARM会不赞成在PL0执行的软件使用其值或尝试对其进行更改。

因此,CPSR.M在用户模式下不建议使用这些位,但是应该可以使用。

但是,继续实际使用MRS(我知道的唯一方法)读取CPSR 。ARM 1988年的B9.3.8节(MRS)指出:

在用户模式下执行并访问CPSR的MRS返回CPSR。{E,A,I,F,M}字段的UNKNOWN值。

由于这些字段是未知的,因此似乎没有一种从用户模式读取模式位的方法。是否存在从用户模式读取CPSR的替代方法,或者确定正在执行哪种模式代码的替代方法?

我可能会检测未定义的指令异常,并尝试在用户模式下执行非法指令,但我希望有更好的方法。

assembly arm armv7

6
推荐指数
0
解决办法
1082
查看次数

标签 统计

arm ×1

armv7 ×1

assembly ×1

data-structures ×1

python ×1

save ×1