问题列表 - 第7383页

x86架构中的"EU"是什么?(计算有效地址?)

我在某处读到x86指令中的有效地址(如LEA指令中)由"EU"计算.什么是欧盟?计算有效地址究竟涉及什么?

我只学习了MC68k指令集(UC博尔德首先教这个),我找不到一个好的x86网页,通过网络搜索.

x86 assembly cpu-architecture

7
推荐指数
2
解决办法
854
查看次数

无法将目录及其所有子目录添加到Emacs中的加载路径

问题类似于一个问题.

但是,它也可以将所有子目录放在文件夹中.

Jouni的代码可以实现第一级文件夹

(let ((base "~/Projects/emacs"))
  (add-to-list 'load-path base)
  (dolist (f (directory-files base))
    (let ((name (concat base "/" f)))
      (when (and (file-directory-p name) 
                 (not (equal f ".."))
                 (not (equal f ".")))
        (add-to-list 'load-path name)))))
Run Code Online (Sandbox Code Playgroud)

如何将目录及其所有子目录放入Emacs中的加载路径?

lisp emacs elisp

5
推荐指数
1
解决办法
1116
查看次数

Prolog - 对称谓词

我必须在prolog中模拟家谱.我有对称谓词的问题. 事实:

parent(x,y).
male(x).
female(y).
age(x, number).
Run Code Online (Sandbox Code Playgroud)

规则:

blood_relation让我头痛.这就是我所做的:

blood_relation(X,Y):-ancestor(X,Y).
blood_relation(X,Y):-uncle(X,Y);brother(X,Y);sister(X,Y);(mother(Z,Y),sister(X,Z));(father(Z,Y),sister(X,Z));(father(Z,Y),brother(X,Z)).
blood_relation(X,Y):-uncle(X,Z),blood_relation(Z,Y).
Run Code Online (Sandbox Code Playgroud)

我得到了令人满意的结果(我有双版画 - 我可以解决这个问题),问题是我希望这种关系是对称的.现在不是.

blood_relation(johns_father, joh):yes 
blood_relation(john,johns_father): no
Run Code Online (Sandbox Code Playgroud)

所以..有办法解决这个问题.我需要查询:所有不在blood_relation中的对..

更新:

第一个声明应该满足什么样的关系?blood_relation(X,Y): - blood_relation(X,Y).

抱歉..这是一个糟糕的复制/粘贴.. ..

blood_relation(X,Y):-ancestor(X,Y).
Run Code Online (Sandbox Code Playgroud)

现在修复上面.

这是其他规则:

father(X,Y):-parent(X,Y),male(X).  
mother(X,Y):-parent(X,Y),female(X).  
brother(X,Y):-parent(Z,X),parent(Z,Y),male(X).  
sister(X,Y):-parent(Z,X),parent(Z,Y),female(X).  
grandFather(X,Y):-parent(Z,Y),parent(X,Z),male(X).  
grandMother(X,Y):-parent(Z,Y),parent(X,Z),female(X).  
uncle(X,Y):-mother(Z,Y),brother(X,Z).  
ancestor(X,Y):-ancestor(X,Y).  
ancestor(X,Y):-parent(X,Z),ancestor(Z,Y).
Run Code Online (Sandbox Code Playgroud)

母亲的兄弟在叔叔的定义.这有点奇怪.我已经制定了需要实施的规则,除此之外我不知道如何实施规则.我只是困惑.

知道如何制作blood_relation对称吗?这not_blood_relation是一个新规则.我需要查询.这个真的让我很头疼.也许是因为关系被写成废话.

并没有更多的事实.就这样.所有规则和所有事实.

查询.. not(blood_relation(X,Y))不起作用,我真的不知道为什么.例如查询:

age(X,Y), Y>18,  
not(parent(X,Z)),write(X),nl,fail.
Run Code Online (Sandbox Code Playgroud)

工作得很好

predicate symmetric prolog

3
推荐指数
1
解决办法
5449
查看次数

java线程早期和可疑地终止

我在Runnable中有以下代码传递给线程t:

public void run() {
        logger.debug("Starting thread " + Thread.currentThread());

        try {
            doStuff();
        } catch (Exception e) {
         logger.debug("Exception in Thread " + Thread.currentThread());
        } 

        logger.debug("End of thread " + Thread.currentThread());
    }
Run Code Online (Sandbox Code Playgroud)

我遇到了一个错误,我发现死锁的情况如下

  • 我的日志只打印了线程消息的开头
  • 线程转储显示线程t(应该执行此操作)不再运行

是否有一些神奇的方式,这个线程可以提前终止,而无需记录线程结束消息或抛出异常?

java multithreading

5
推荐指数
1
解决办法
1294
查看次数

Groovy语言的稳定性如何?

我们正在用Java编写一个大型生产系统,我正在考虑是否可以用一种基于JVM的动态语言编写一些组件.从Java互操作性的角度来看,Groovy似乎是最好的选择.但是Groovy实现是否足够可靠以便在生产中使用(我会这么认为),并且Groovy语言规范本身是否足够稳定,以便我们不必在一两年内大幅修改我们的生产代码?你有什么经历?

总结(2009年5月30日):好的评论,我得到的意思是你应该谨慎地采用Groovy进行关键任务生产使用,它适用于诸如组合测试用例之类的辅助用法,并且它有一个中间地带,它是可能没事,但先做好功课.性能是一个问题,需要与开发人员生产力的提高相平衡.比尔和Ichorus基于Groovy的使用有同样有用的答案,所以这是一个抛硬币.

更新(12/3/09):最近我一直在认真研究另一种JVM语言Scala.它由Martin Odersky设计和实现,他是当前javac编译器的原作者和Java Generics的联合设计者.Scala是一种强类型,但使用类型推断去除大量的样板.它是面向对象和函数式编程的完美结合.詹姆斯戈斯林喜欢它.Groovy的作者James Strachan 也喜欢它.而Odersky在撰写javac方面的经验意味着Scala的原始性能与Java相差无几,令人印象深刻.

更新(4/26/11):看看Groovy ++,它是Groovy的静态类型扩展,其性能与Java相当.看起来很有趣.

groovy

23
推荐指数
3
解决办法
4723
查看次数

如何创建"配对"功能以匹配字符串列表?

我正在对F#Wiki Book on List进行练习(滚动到底部)来创建一个Pair方法.

我能够没有问题地对整数列表进行配对,但是为字符串列表抛出了F#异常.对于像我这样的F#初学者而言,解读异常意味着什么,这真是太神秘了.

这是我初次尝试实施Pairfsi.exe

> let pair l =
-     let rec loop acc = function
-         | [] -> acc
-         | (hd1 :: hd2 :: tl) -> loop ((hd1, hd2) :: acc) tl
-     List.rev(loop [] l)
-
- printfn "%A" ([1..10] |> pair)
- printfn "%A" ([ "one"; "two"; "three"; "four"; "five" ] |> pair);;

      let rec loop acc = function
  -----------------------^

stdin(2,24): warning FS0025: Incomplete pattern matches …
Run Code Online (Sandbox Code Playgroud)

f#

1
推荐指数
1
解决办法
659
查看次数

我应该用C++选择哪个Windows GUI系统?

现在有很多方法可以编写Windows应用程序,win32,MFC,ATL,.NET,WinForms,以及其他一些我不知道的方法.我应该选择哪一个?我想要一个全新安装的Vista,并且现代且易于使用.

c++

1
推荐指数
2
解决办法
607
查看次数

循环数据库关系.好,坏,例外?

我一直推迟开发应用程序的这一部分纯粹是因为我想以循环的方式做到这一点,但从我记得我的讲师告诉我回到学校的时候,感觉这是一个坏主意.

我有一个订单系统的设计,忽略了与我留下的这个例子无关的一切:

  • 信用卡
  • 顾客
  • 订购

我想这样,

  • 客户可以使用信用卡(0-n)
  • 客户有订单(1-n)
  • 订单有一个客户(1-1)
  • 订单有一张信用卡(1-1)
  • 信用卡可以有一个客户(1-1)(唯一ID,因此我们可以忽略cc号的唯一性,丈夫/妻子可以共享cc实例等)

基本上最后一部分是问题出现的地方,有时信用卡被拒绝,他们希望使用不同的信用卡,这需要更新他们的"当前"卡,但这只能更改用于该订单的当前卡,而不是客户可能在磁盘上的其他订单.

实际上,这在三个表之间创建了圆形设计.

可能的解决方案:要么

创建圆形设计,给出参考:

  • cc参考订购,
  • 客户参考cc
  • 客户参考订购

要么

  • 客户参考cc
  • 客户参考订购
  • 创建引用所有三个表ID的新表,并在订单上放置唯一,以便任何时候只有一个cc可以是该订单的当前

基本上两者都是相同的设计模型,但翻译方式不同,我在这个时间点最喜欢后一种选择,因为它看起来不那么循环,而且更加集中.(如果这甚至有意义)

我的问题是,

  • 如果有的话各有利弊怎么办?
  • 循环关系/依赖的缺陷是什么?
  • 这是规则的有效例外吗?
  • 有什么理由我应该选择前者而不是后者?

谢谢,如果有任何需要澄清/解释,请告诉我.

--update/Edit--

我注意到我说的要求有误.当试图简化SO的事情时,基本上丢球.付款还有另一张表,增加了另一层.捕获,订单可以多次付款,可以使用不同的信用卡.(如果你真的想知道其他形式的付款).

在此陈述这一点是因为我认为潜在的问题仍然是相同的,这只会增加另一层复杂性.

sql rdbms entity-relationship relational-model

2
推荐指数
1
解决办法
2941
查看次数

通过AJAX将关联数组传递给PHP

我试图通过AJAX将其传递给PHP脚本:

  var answers={};
  for (x=0; x< allAnswers.length; x++)
   {
       answers.x=new Array();
       answers.x['id']==allAnswers[x]['id'];
       answers.x['val']=$("#field_" + x).val();
   }

   var data={};
   data.id=questions[qId]['id'];
   data['answers']=answers;

   $.post('index.php',data);
Run Code Online (Sandbox Code Playgroud)

PHP设置为print_r($_POST),这是输出:

answers [object Object]

id       3
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

编辑:更改代码以使用数组,即:

  var answers=new Array();
   for (x=0; x< allAnswers.length; x++)
   {
       answers[x]=new Array();
       answers[x]['id']=allAnswers[x]['id'];
       answers[x]['val']=$("#field_" + x).val();
   }
   var data={};
   data.id=questions[qId]['id'];
   data['answers[]']=answers;

   $.post('index.php',data);
Run Code Online (Sandbox Code Playgroud)

给这个print_r:

Array
(
    [id] => 3
    [answers] => Array
        (
            [0] => 
            [1] => 
        )

)
Run Code Online (Sandbox Code Playgroud)

思考?

javascript php ajax jquery

1
推荐指数
1
解决办法
5500
查看次数

覆盖等于并与字符串进行比较

我已经定义了一个带有字符串成员的C#类.对于所有意图而言,将此类视为字符串的子类(除非不允许).我用它来表示一个匹配特定格式的强类型字符串字段(我已经大大简化了这一点).

public class field
{
    private readonly string m_field;
    public field(string init_value)
    {
        //Check the syntax for errors
        if (CheckSyntax(init_value))
        {
            m_field = init_value;
        }
        else
        {
            throw new ArgumentOutOfRangeException();
        }
    }

    public override string ToString()
    {
        return m_field;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我希望能够将此类直接与任何其他字符串(对象或文字)进行比较.因此,我在课堂上实现了以下内容:

public override bool Equals(object obj)
{
    if (obj == null)
    {
        return false;
    }

    return this.m_field == obj.ToString();
}

public override int GetHashCode()
{
    return this.m_field.GetHashCode();
}

public static bool operator ==(field x, Object y)
{
    if ((object)x …
Run Code Online (Sandbox Code Playgroud)

c# equals

4
推荐指数
2
解决办法
4898
查看次数