在做一些阅读时,我遇到了"中间语言"和"3AC"这两个术语.
据我所知,IL是源代码编译过程中的中间"步骤".更具体地说,我正在阅读字节码(Java)和C.
我解释它的方式(纠正我,如果错了)是;
源代码1(例如Lisp) - >中间语言(C) - >汇编语言 - >机器码
源代码2(例如Java) - >字节码 - > Java虚拟机
基于此,我很难看到三地址代码(TAC/3AC)在哪里发挥作用,以及它的用途.
是否有可能生成启发式检查恶意软件行为的编译器?如果有可能为什么没有实施?这不是强烈有助于防止这种病毒的产生,我的意思是为什么一旦他们在那里等待阻止他们?
即使这些人使用不使用内置AV的"建议"的编译器,个人AV也可以检测到该文件并将文件评级为有风险(有点像SSL证书)
compiler-construction integration antivirus malware-detection
我有x(百万)正整数,其值可以与允许的值一样大(+2,147,483,647).假设它们是唯一的,那么将它们存储为查找密集型程序的最佳方法是什么.
到目前为止,我想到了使用二进制AVL树或哈希表,其中整数是映射数据(名称)的关键.但是我不确定我是否可以使用哈希表来实现如此大的密钥(除了容易发生冲突之外,还不会产生> 0.8的加载因子吗?)
我可以得到一些关于哪种数据结构可能适合我的情况的建议
在模拟完全关联缓存(在MIPS程序集中)时,基于在线阅读的一些信息,我想到了一些问题.
根据马里兰大学的一些笔记
查找插槽:最多一个插槽应匹配.如果有多个匹配的插槽,则您有一个错误的全关联缓存方案.在完全关联的缓存的任何槽中,您永远不应该有多个缓存行副本.维护多份副本很难,而且没有意义.这些插槽可用于其他缓存行.
这是否意味着我应该一直检查整个标签列表以检查第二次匹配?毕竟,如果我不这样做,我永远不会"意识到"缓存的错误,但是,每次检查似乎都是非常低效的.
在我检查的情况下,不知何故我设法找到第二个匹配,意味着错误的缓存方案,那我该怎么办?虽然最好的答案是修复我的实现,但我感兴趣的是如果出现这种情况,如何在执行期间处理它.
我在Javascript中创建了以下2D数组
// Create basic linear array
var ImgArray = new Array(4);
// Do the 2D array for each or the linear array slots
for (i=0; i < 4 ; i++) {
ImgArray[i] = new Array(4)
}
Run Code Online (Sandbox Code Playgroud)
现在我想用2'增强的for循环'来迭代它.但我坚持如何使用循环,因为只有ImgArray这样说.例如;
// Load the images
for(var i in ImgArray) {
for( ??? ) { // How would i do this? What do i state as an array?
///...
}
document.write("<br>");
}
Run Code Online (Sandbox Code Playgroud)
任何建议都很赞赏
我在Java中开发一种遗传算法,就像所有这些算法一样,需要两条父染色体的交叉.这些染色体可能很长,从30到500不等(但无论它们长度如何,它们都将具有相同的大小,因此如果长度为80,那么GA运行的全部将为80).
我想以不同的方式发展,但他们在我看来都非常低效,所以我想我可能会要求新的,不同的观点和建议.
例如,我想的方式之一是将字符串转换为字符数组和迭代从起点到交叉轨迹(即,从端部的s1 & s2[25]至s1 & s2[40])复制到颞阵列每个阵列的字符的那些点之间和然后再次迭代并使用"伙伴"的时间数组中的字符交换它们.但就像我说的那样,一个拥有大约1000条染色体并且大约1000代的人群的程序似乎非常缓慢.
以下是两点交叉的示例:

还有一个更简单的点交叉:

因为在Java中根本不是很先进,你可以建议我采取什么方法,可能是一个我不知道的Java函数,或者我可以实现的一些算法?
我正在为uni选择项目.我真的很感兴趣的是结合遗传算法和计算机安全性.
因此我的问题是,是否可以在计算机安全的任何方面使用GA ?例如?.我想的是一种能够自我保护/抑制威胁的进化防火墙/防病毒软件.这样的事情有道理吗?
我真的很感谢你们的意见,建议,评论.
如何使用其函数返回Foo类的指针.我问的原因是因为我想让这段代码工作
Class fo
fo.MakeA(34.5777).MakeY(73.8843);
Run Code Online (Sandbox Code Playgroud)
非常感谢你提前
给定图,我怎么能用adj矩阵表示它?我已经阅读了很多教程,帖子,幻灯片等,但我无法理解它,我只需要一点点推动.
如果编写以下代码会是错误的吗?
Sub Something()
Dim i As integer
Dim xRange As Range
Dim yRange As Range
Set xRange= Range("x_table")
Set yRange= Range("y_table")
For i = 1 To xRange.Columns.Count
xRange.Columns(i) = Application.Sum(y_table.Columns(i))
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
没有具体声明每个变量?像吼叫;
Sub Something()
Set xRange= Range("x_table")
Set yRange= Range("y_table")
For i = 1 To xRange.Columns.Count
xRange.Columns(i) = Application.Sum(y_table.Columns(i))
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)