Articles of 32bit 64bit

java.lang.NoClassDefFoundError:无法初始化类java.awt.Toolkit

我正在研究XUbuntu 13.04和开发摇摆应用程序。 正如我只想尝试该应用程序,我遇到了java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit启动时java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit 。 我发现了几个有关服务器/客户端虚拟机的问题,并注意到我有一台服务器虚拟机,而对于Linux 64,没有客户端虚拟机了。 但恕我直言,这个问题不应该依赖于我运行的虚拟机。 有没有人注意到这个问题,并解决了它? 我究竟做错了什么? 用64bit的jdk一切正常,但是当我尝试使用32位jdk的启动失败。 提前致谢! PS:Java版本是1.7.0_25 ,与1.7.0_09相同 编辑 使用无头模式时,会出现以下例外情况: java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(EventQueue.java:1272) at java.awt.EventQueue.invokeAndWait(EventQueue.java:1247) at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1349) at Main.main(Main.java:218) Caused by: java.awt.HeadlessException at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207) at java.awt.Window.<init>(Window.java:535) at java.awt.Frame.<init>(Frame.java:420) at java.awt.Frame.<init>(Frame.java:385) at javax.swing.JFrame.<init>(JFrame.java:180) at ..MyFrame.<init>(MyFrame.java:23)

在64位Linux上从32位模式切换到64位(长模式)

我的程序是在x86_64 CPU(64位操作系统,Ubuntu 8.04)上运行的32位模式。 是否可以暂时在用户模式下切换到64位模式(长时间模式)? 如果是这样,怎么样? 背景故事:我正在写一个链接到32位模式程序的库,所以它在启动时必须是32位模式。 但是,我想使用更快的x86_64入侵以获得更好的性能。 所以我想切换到64位模式做一些纯粹的计算(没有操作系统的交互;不需要64位寻址),返回到32位,然后返回给调用者。 我发现有一些相关但不同的问题。 例如, 在64位程序中运行32位代码 在32位操作系统中运行64位代码 我的问题是“在32位程序,64位操作系统中运行64位代码”

是否可以在Linux上设置一个gcc交叉编译器来在32位体系结构上编译64位目标?

我知道你可以通过使用-m32标志来编译64位Linux上的32位目标,但是也可以使用-m64标志在32位机器上编译为64位? 或者,您是否需要build立一个支持64位目标的交叉gcc工具链,这可能在32位机器上? 问候,约翰

如何使用mingw-w64编译和链接32位Windows可执行文件

我使用Ubuntu 13.04并使用apt-get install mingw-w64 。 我可以使用下面的命令编译并链接我的程序的一个可用的64位版本: x86_64-w64-mingw32-g++ code.cpp -o app.exe 其中生成一个64位的app.exe文件。 我用什么二进制或命令行标志来生成一个32位版本的app.exe?

android studio adb语法错误:“)”意外

今天早上当我开始做我的日常工作(在我的电脑中打开android studio 1.5.1 – lubuntu 32位)我尝试运行我的应用程序到我的设备后遇到错误。 这是android studio错误: Error running app: Unable to obtain debug bridge Unable to detect adb version, adb output: /root/Android/Sdk/platform-tools/adb: 1: /root/Android/Sdk/platform-tools/adb: Syntax error: ")" unexpected 我正在通过互联网寻找几个小时的可能解决scheme,但无法find同样的错误。 我已经尝试了一些其他的补救措施,但仍然没有解决它的运气。 你能帮助我吗? 提前致谢。

32位cmd.exe如何在Windows Server 2003 x64上启动64位cmd.exe?

这是Windows Server 2008 64位上的7-Zip执行权限的后续操作 。 我试图避免有一个过于复杂的构build过程,以制作多个7-Zip EXE文件。 我只需要一个.cmd来读取一些64位registry项后启动我的Java进程。 但是,要成功使用一个EXE文件,它需要是32位。 上面的问题find了让Windows Server 2008检测到32位cmd.exe并将其交换到64位的技巧。 有没有办法在Windows Server 2003上做到这一点? 有一个Windows修补程序,它允许reg.exe以32位模式访问64位条目,但我无法确定这是在客户的服务器上,因此解决方法是不可行的。

64位Windows API:C / C ++“DWORD”的大小是多less?

我只安装了32位Windows,所以我无法自己validation。 如果我理解正确,那么在Microsoft API的各个地方使用的DWORD是参考原来的16位字,而与当前的硬件架构无​​关? 因此,即使当我最终编译并链接我的应用程序以在64位Windows中运行时,似乎是32位的DWORD也将保持32位? 或者将DWORD变成128位宽?

是否有可能从32位应用程序读取64位进程的进程内存?

在Windows 64位,我有一个32位的进程,读取其他32位进程的内存,我希望它也能够读取64位进程。 ReadProcessMemory正被用来读取内存,但它有一个32位的限制。 有没有什么办法在64位进程的ReadProcessMemory相当于? 我知道我可以编写一个64位的进程,并启动从我的32位进程做的工作,但我想知道是否有其他的select,所以我不需要写一个64位的过程。 谢谢。

文件被复制到SysWOW64而不是System32

我的应用程序运行时必须将psTool实用程序复制到System32文件夹。 我在64位Windows 7上,每当我尝试通过File.Copy将exe复制到system32位文件夹时,exe总是被复制到SysWow64。 当我在destFile上放置一个断点时,path显示为C:\Windows\System32但文件不会进入(进入sysWow64)。 我已经尝试了Special Folder SystemX86 ,但文件再次进入sysWOW64。 string sourceFile = "C:\bin\Debug\somexe.exe" string destFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), utilityName); File.Copy(sourceFile, destFile, true); 任何build议我在这里失踪? 编辑 正如答案中所指出的那样,正在发生文件系统redirect。 我正在使用64位操作系统上的控制台应用程序的Visual Studio的默认设置开发应用程序。 我不确定在编译时必须保留哪些设置/开关,以便应用程序可以在32位和64位操作系统上运行。 基本上,它应该只是设置将文件复制到System32而不pipe它是什么位的操作系统。 在后面的程序中,我必须通过命令行访问psTools实用程序,如果将其放在SysWOW64中,命令行不可用。 如果我进行更改,要使用SysWOW64的32位cmd.exe,这将再次是64位平台特定的,我不想select。 任何解决scheme,可以使应用程序运行在32位和64位没有问题? 我是否必须修改代码(如何?)还是必须修改此控制台应用程序项目的某些属性(哪些属性)?

如何检索system32或SysWOW64的正确path?

我有一个可以在32位或64位Windows上运行的32位进程。 所以,自然,如果进程试图访问文件c:\windows\system32\file.ext ,它将被redirect到c:\windows\SysWOW64\file.ext 。 到目前为止这么好 – 我不想禁用redirect。 我的问题是,我的进程并没有实际访问该文件 – 而只是采取其path,并将其写入文本文件 ,我希望该文本文件读取64位系统上的SysWOW64和32位系统上的system32 ,位系统。 我怎样才能做到这一点?