我想知道是否有可能防止对象(类或结构)的内存被交换到磁盘?
编辑:至于为什么我被告知我将要使用的一些数据无法写入磁盘.
我不希望它留下足够长的时间来换掉数据但是认为值得检查.
我正在尝试让条件组件工作.
然而,它根本不起作用,所以我很难过.
我有以下blob代码:
该功能定义如下:
<Feature Id="MainFeature" Level="1" Title="!(loc.FEATURE.MAINFEATURE.TITLE)"
Description="!(loc.FEATURE.MAINFEATURE.DESCRIPTION)" Display="collapse">
<ComponentRef Id="MainExecutable" />
<ComponentRef Id="pmd" />
</Feature>
Run Code Online (Sandbox Code Playgroud)
并且组件定义为
<Component Id="MainExecutable" Guid="*">
<Condition><![CDATA[(&MainFeature = 3) AND NOT (!MainFeature = 3)]]></Condition>
<File Id="MainExecutableFile" Name="SampleApp.exe"
Source="..\ProductBuild\sampleFile.txt" KeyPath="yes">
<Shortcut Id="MainExecutableStartMenu" Directory="ProgramMenuDir"
Name="!(loc.APPNAME)" WorkingDirectory="INSTALLDIR"
Icon="icon.ico" IconIndex="0" Advertise="yes"/>
<Shortcut Id="MainExecutableDesktop" Directory="DesktopFolder"
Name="!(loc.APPNAME)" WorkingDirectory="INSTALLDIR"
Icon="icon.ico" IconIndex="0" Advertise="yes" />
</File>
</Component>
Run Code Online (Sandbox Code Playgroud)
但是文件永远不会安装!
我被要求寻找一个完美的散列/单向函数,以便能够散列10 ^ 11个数字.然而,由于我们将使用嵌入式设备,它将没有内存来存储相关的存储桶,所以我想知道是否有可能没有它们的体面(最小)完美哈希?
计划是使用设备来散列数字,我们使用彩虹表或使用散列作为偏移量的文件.
干杯
编辑:
我会尝试提供更多信息:)
1)10 ^ 11实际上现在是10 ^ 10,这样可以更容易.这个数字是可能的组合.所以我们可以得到介于0000000001和10000000000(10 ^ 10)之间的数字.
2)计划对我们来说是单向函数的一部分,使数字安全,所以我们可以通过不安全的方式发送它.然后我们将使用彩虹表在另一端查找原始数字.问题是设备的源通常有512k-4Meg的内存使用.
3)它必须是完美的 - 我们100%不会发生碰撞.
EDIT2:
4)我们不能使用加密,因为我们已经被告知它在设备上并不是真的可能,如果我们可以的话,关键人物将是一场噩梦.
EDIT3:
由于这是不明智的,现在纯粹的学术问题(我保证)