问题列表 - 第14785页

如何使用Ruby删除重复的XML节点?

假设我有这个结构:

<one>
   <two>
     <three>3</three>
   </two>

   <two>
     <three>4</three>
   </two>

   <two>
     <three>3</three>
   </two>
</one>
Run Code Online (Sandbox Code Playgroud)

到底有没有这样做:

<one>
  <two>
    <three>3</three>
  </two>

  <two>
    <three>4</three>
  </two>

</one>
Run Code Online (Sandbox Code Playgroud)

使用Ruby的库?我设法使用Nokogiri 得到了这个.从我的测试来看,它似乎有效,但也许有另一种方法,一种更好的方法.

ruby xml

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

SSE寄存器返回SSE禁用

我遇到以下情况:

  • 我正在为不允许SSE指令的内核编写代码
  • 我需要做浮点运算
  • 我正在为x86_64平台编译

这是一个代码示例,说明了问题:

int
main(int argc, char** argv)
{
    double d = 0.0, dbase;
    uint64_t base_value = 300;

    d = (2200.0 - 1000.0)/(1000.0);
    dbase = d * base_value;
    printf("d = %f, dbase = %f\n", d, dbase);
    base_value = dbase;
    printf("base_value = %llu\n", (long long unsigned)base_value);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是makefile中的相关行:

CFLAGS +=   -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow \
            -msoft-float -fno-asynchronous-unwind-tables -fno-omit-frame-pointer
Run Code Online (Sandbox Code Playgroud)

当我运行构建时,我收到此错误:

SSE register return with SSE disabled
Run Code Online (Sandbox Code Playgroud)

(错误指向与d和base_value相乘的行)

知道我能做些什么来解决这个问题吗?删除-mno-sse不是一个选项,但似乎编译器应该能够生成非sse代码来进行乘法运算.

谢谢内森

c floating-point gcc sse

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

如何从扩展名向firefox添加协议处理程序

我想从Firefox扩展中捕获对我的协议的请求.例如,如果我们输入<my-protocol name>://...地址栏它应该在扩展名中调用JavaScript函数.如果没有明确的设置,我想实现它.

firefox-addon

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

迭代一系列选定的jQuery对象?

如何迭代一组选定的jQuery对象,以便您可以单独对每个对象执行jQuery函数?

   
 <div class="foobar">abc</div>
 <div class="foobar">123</div>
 <div class="foobar">abc123</div>

我可以选择组:

var foobarObjects = jQuery('.foobar')
Run Code Online (Sandbox Code Playgroud)

但是,您将如何浏览foobarObject中的每个jQuery对象并单独操作每个jQuery对象?我以为我可以使用jQuery().each但只允许我使用DOM对象,而不是jQuery对象.我也尝试了一个与jQuery().eq(i)函数结合的for循环,但似乎将这些项合并在一起.

jquery

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

正确删除char**?

我使用以下方法创建了一个二维c字符串数组:

char ** my_array = new char*[N];
Run Code Online (Sandbox Code Playgroud)

然后我使用以下方法初始化每一行:

my_array[i] = new char[M]; // where M is a varying number. assign values to my_array[i] later
Run Code Online (Sandbox Code Playgroud)

所以我几乎有一个锯齿状的2D阵列.

我想继续并删除像这样的整个事情:

for(int i = 0; i < N; i++)
{ delete [] my_array[i]; }
Run Code Online (Sandbox Code Playgroud)

接下来是:

delete [] my_array;
Run Code Online (Sandbox Code Playgroud)

for循环给了我HEAP CORRUPTION ERROR - 为什么?

**************更新 - 完整代码*********************

#define BOOST_TEST_MODULE ARGS
#define BOOST_LIB_DIAGNOSTIC

#include <string>
#include <vector>
#include <iostream>
#include <boost/test/unit_test.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/assign.hpp>
#include <boost/assign/list_of.hpp>
#include <boost/assign/std/vector.hpp>

using namespace std;
using namespace boost;
using namespace …
Run Code Online (Sandbox Code Playgroud)

c++ memory-management

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

使非对象资源符合RAII标准

在我的代码中我使用了HANDLEs windows.h.他们像是一样使用

HANDLE h;
if (!openHandleToSomething(arg1, arg2, &h)) {
    throw std::exception("openHandleToSomething error");
}
/* Use the handle in other functions which can throw as well */
if (!CloseHandle(h)) {
    throw std::exception("closeHandle error");
}
Run Code Online (Sandbox Code Playgroud)

如您所见,您必须将此插入CloseHandle到可能在获取和释放过程中发生的每个异常中.因此,你可能会忘记一个(或者有一个你不知道的奇特的SEH异常)并且瞧,你的内存泄漏了.

最近,我已经阅读了RAII,它应该消除这种情况的麻烦,并应CloseHandle自动调用.我也看到std::auto_ptr<someType>C++ 中有类似的东西可以解决分配的资源问题new.

但是,因为我不使用new,因为HANDLE只是typedef编辑void *,我想知道我应该如何使用std::auto_ptr<someType>.不知何故,它应该可以给它一个自定义删除函数(if (!CloseHandle(h)) { throw std::exception("closeHandle error"); }).创建一个类将是另一种方法,因为析构函数在其实例超出范围时被调用.然而,为每一件简单的事情设一个课程实在是太过分了.

我该如何解决这些意外的内存泄漏?

请注意,我更喜欢纯C++中没有库和大依赖关系的解决方案,除非它们非常小并且无论如何都要在大多数环境中使用.

c++ raii auto-ptr

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

查找WPF窗口的句柄

Windows窗体有一个属性win1.Handle,如果我记得,它返回主窗口句柄的句柄?

是否有相同的方法来获取WPF窗口的句柄?

我在网上找到了以下代码,

IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;
Run Code Online (Sandbox Code Playgroud)

但我认为这不会对我有所帮助,因为我的应用程序有多个窗口.

谢谢!!

wpf window handle

103
推荐指数
3
解决办法
9万
查看次数

如何使用MacPorts继续中断安装?

我是所有shell /二进制的新手,并且正在安装Git(我知道SCM是一个好东西,因为在SO上).然而,我的互联网连接在中途被打乱,安装停滞不前.

它中断了一个tar.gz下载,我不知道如何从它停止的地方恢复.这是输出:

computer:~ Alex$ sudo port install git-core +svn+bash_completion
--->  Computing dependencies for git-core
--->  Verifying checksum(s) for p5-error
Error: Target org.macports.checksum returned: Could not open file: 
/opt/local/var/macports/distfiles/perl5/Error-0.17015.tar.gz
Error: The following dependencies failed to build: p5-error p5-libwww-perl p5-crypt-ssleay
    p5-html-parser p5-html-tagset p5-io-compress p5-compress-raw-bzip2 p5-compress-raw-zlib
    p5-uri p5-svn-simple subversion-perlbindings apr apr-util db46 cyrus-sasl2 gettext neon
    serf subversion p5-term-readkey rsync popt
Error: Status 1 encountered during processing.
computer:~ Alex$ 
Run Code Online (Sandbox Code Playgroud)

所以我试了两次,没有运气.我找到了该文件,并将其替换为从引用网站下载的完整文件,并再次尝试; 没运气.有人能告诉我如何恢复这个过程吗?我不太确定如何告诉它再次拾取.

unix macports

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

JAR中的Java Desktop.open(File f)引用文件?

它可以用于Desktop.open(File f)引用位于JAR中的文件?

我尝试使用ClassLoader.getResource(String s),将其转换为URI,然后从中创建文件.但这导致了IllegalArgumentException: URI is not hierarchical.

URL url = ClassLoader.getSystemClassLoader().getResource(...);
System.out.println("url=" + url);    // url is valid
Desktop.getDesktop().open(new File(url.toURI()));
Run Code Online (Sandbox Code Playgroud)

可能性是JavaRanch的答案,即从JAR中的资源创建一个临时文件 - 不是很优雅.

这是在Windows XP上运行的.

java desktop jar

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

只有一个客户端可以连接到命名管道

我目前正在使用ASP.NET 3.5和C#学习Windows中的命名管道.我写了一个小型服务器程序,它创建了一个命名管道:

using (NamedPipeServerStream pipeStream = new NamedPipeServerStream(pipeName))
{
  pipeStream.WaitForConnection();
  // do sth.
}
Run Code Online (Sandbox Code Playgroud)

和一个打开管道的客户端应用程序如下:

using (NamedPipeClientStream pipeStream = new NamedPipeClientStream(pipeName))
{ 
  pipeStream.Connect();
  // do sth.
}
Run Code Online (Sandbox Code Playgroud)

只要只有一个客户端连接到管道,这就很有效.它既可以读写,也可以写入.如果我尝试连接第二个客户端,代码永远不会超过该行

pipeStream.Connect();
Run Code Online (Sandbox Code Playgroud)

服务器和所有客户端都在同一台计算机上运行.有任何想法吗?

非常感谢你提前!

c# asp.net-3.5 named-pipes

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