小编Vir*_*gil的帖子

如何将128位立即数移动到XMM寄存器

关于这一点已经存在一个问题,但它被关闭为"含糊不清",所以我开了一个新的 - 我找到了答案,也许它也会帮助其他人.

问题是:如何编写汇编代码序列来初始化具有128位立即(常量)值的XMM寄存器?

x86 assembly sse simd

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

为什么Spark作业失败并显示"退出代码:52"

我有一个像这样的跟踪失败的Spark工作:

./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-Container id: container_1455622885057_0016_01_000008
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-Exit code: 52
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr:Stack trace: ExitCodeException exitCode=52: 
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at org.apache.hadoop.util.Shell.runCommand(Shell.java:545)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at org.apache.hadoop.util.Shell.run(Shell.java:456)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:722)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-      at java.lang.Thread.run(Thread.java:745)
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-
./containers/application_1455622885057_0016/container_1455622885057_0016_01_000001/stderr-Container exited with a non-zero exit code 52
Run Code Online (Sandbox Code Playgroud)

我花了一段时间才弄清楚"退出代码52"是什么意思,所以我把它放在这里是为了其他可能正在搜索的人的利益

hadoop-yarn apache-spark spark-dataframe

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

用于Visual Studio的"预处理当前文件"插件?(C++)

我意识到Visual Studio有"/ P"选项来生成预处理文件,但它非常不方便.我正在寻找一个插件,允许您右键单击文件并选择"查看预处理" - 或任何类似的解决方案,基本上预处理当前打开的文件(使用当前配置中的相应选项)并显示输出,没有额外的麻烦.这样的事情存在吗?

c++ add-in visual-studio

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

如何使用C++类层次结构和动态链接库(可移植)

好的,所以我知道可移植性不是C++的强项,但我必须在Mac和Windows上运行我的代码.我想出了一个解决方案,但它并不完美,而且我很想知道是否有人可以推荐更好的解决方案.

我需要在几个DLL/bundle中使用类层次结构 - 例如,我有一个抽象基类BaseClass; 我扫描给定的目录中的DLL,并为每个DLL,我寻找工厂方法BaseClass*CreateObject(); - 返回"BaseClass".我有一个"共享头文件",我包含在"主可执行文件"和DLL中,它声明BaseClass像这样

#ifdef _MAC
 #define DECLSPEC 
#else
 #ifdef COMPILING_DLL
 #define DECLSPEC __declspec(dllexport)
 #else
 #define DECLSPEC __declspec(dllimport)
 #endif
#endif

class DECLSPEC BaseClass{
  [.. base "interface" declaration .. ]
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的DLL中,我通常会包含BaseClass声明,并声明我自己的"具体"类:

class MyDllClass:public BaseClass{
[.. actual DLL class definition/implementation here goes here ...]
}
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.现在由于某种原因,我需要在两个不同类型的BaseObjects之间区分我的主要可执行文件 - 比如我有一个DescriptionClass和一个ActionClass,它们都是BaseClass,但是接口略有不同.我的第一个实现是简单地修改"共享头"并添加:

class DECLSPEC DescriptionClass{
  [.. base "Description interface" declaration .. ]
}

class DECLSPEC ActionClass{
  [.. base "Action interface" declaration .. ]
}
Run Code Online (Sandbox Code Playgroud)

然后我的DLL将成为:

class MyDllClass:public ActionClass /* or DescriptionClass, …
Run Code Online (Sandbox Code Playgroud)

c++ gcc class shared-libraries

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

如何用mercurial"恢复"未更改的文件?

我已经在我的计算机上安装了Windows7,我不得不更改所有权限/取得所有权 - 这显然"触及"了我的所有文件,现在一切似乎都被"修改"(当我做"hg status"时),但只有一些文件有实际的变化.

是否有一个命令我可以运行,以便"提交"或"恢复"所有没有实际更改的文件(即文本未更改,即使文件属性已更改).

添加:

我已经从WinXP升级到Win7.我实际上并没有"复制"任何东西,磁盘上的存储库是相同的....它只是改变了Windows.升级后,我无法访问某些文件,我需要"取得所有权"才能重新获得访问权限(不知何故,用户权限未得到妥善保存).这是我得到的:

$ hg stat 
../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as M      
$ hg diff ../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as
Run Code Online (Sandbox Code Playgroud)

version-control mercurial

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