标签: 32-bit

什么是16位,32位和64位架构?

在微处理器和/或操作系统的情况下,16位,32位和64位架构意味着什么?

在微处理器的情况下,它是指General Purpose Registers的最大尺寸或s的大小Integer或数量Address-line或s的数量Data Bus line或者是什么?

说" DOS is a 16-bit OS"," Windows in a 32-bit OS"等是什么意思?

64-bit operating-system 32-bit 16-bit microprocessors

25
推荐指数
3
解决办法
2万
查看次数

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

我正在使用Ubuntu 13.04并使用安装了mingw-w64 apt-get install mingw-w64.我可以使用以下命令编译和链接我的程序的64位工作版本:

x86_64-w64-mingw32-g++ code.cpp -o app.exe
Run Code Online (Sandbox Code Playgroud)

这会生成一个64位的app.exe文件.

我使用什么二进制或命令行标志来生成32位版本的app.exe?

linux 32-bit mingw 32bit-64bit mingw-w64

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

如何制作支持32位和64位架构的Android应用程序?

我刚收到并阅读了Google Play的时事通讯,提到从明年开始,该商店"将要求使用原生库的新应用和应用更新提供除32位版本之外的64位版本".

对于尚未阅读的人,它说:

2019年的64位支持要求

Android 5.0中引入了对64位体系结构的平台支持.今天,超过40%的在线Android设备具有64位支持,同时仍保持32位兼容性.对于使用本机库的应用程序,64位代码通常提供更好的性能,附加寄存器和新指令.

由于预计未来仅支持64位代码的Android设备,Play控制台将要求使用本机库的新应用和应用更新除了提供32位版本之外还提供64位版本.这可以在单个APK内,也可以作为发布的多个APK中的一个.

我们没有删除32位支持.Google Play将继续支持32位应用和设备.不包含本机代码的应用程序不受影响.

此更改将于2019年8月生效.我们今天提前通知,以便为尚未支持64位的开发人员提供充足的时间来规划转换.请继续关注未来的帖子,我们将深入了解Android上64位本机库的性能优势,并查看NDK的CPU和架构指南以获取更多信息.

在适用的情况下,我们需要做出哪些实际的改变才能完全符合这一新要求?

64-bit android 32-bit android-ndk google-play

24
推荐指数
4
解决办法
3万
查看次数

嵌入D(编程语言)

我喜欢我读过很多关于D.的内容.

  • 统一文档(这将使我的工作变得更加容易.)
  • 内置于该语言的测试功能.
  • 调试代码支持语言.
  • 前瞻性声明.(我一直认为两次声明相同的功能是愚蠢的.)
  • 内置功能可替换预处理器.
  • 模块
  • Typedef用于正确的类型检查而不是别名.
  • 嵌套函数.(咳嗽 PASCAL 咳嗽)
  • 输入和输出参数.(这有多明显!)
  • 支持低级编程 - 嵌入式系统,哦耶!

然而:

  • D可以支持不会运行操作系统的嵌入式系统吗?
  • 它不支持16位处理器的彻底解除是否完全来自在这些机器上运行的嵌入式应用程序?有时你不需要锤子来解决你的问题.
  • 垃圾收集在Windows或Linux上很棒,但不幸的是嵌入式应用程序有时必须进行显式内存管理.
  • 数组边界检查,你喜欢它,你讨厌它.非常适合设计保证,但并不总是允许性能问题.
  • 对于支持多线程的嵌入式系统而不是运行操作系统有什么影响?我们有一个客户甚至不喜欢中断.更少OS /多线程.
  • 是否有适用于嵌入式系统的D-Lite?

所以基本上D适用于只有几兆字节(有时小于一兆字节)的嵌入式系统,不运行操作系统,其中必须在编译时知道最大内存使用量(每个要求),并且可能在小于32位的情况下处理器?

我对一些功能非常感兴趣,但我得到的印象是针对桌面应用程序开发人员.

具体是什么使它不适合16位实现?(假设16位架构可以处理足够的内存来保存运行时,无论是在闪存还是RAM中.)仍然可以计算32位值,尽管比16位慢,并且需要使用库代码进行更多操作.

embedded 32-bit d 16-bit

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

2038年嵌入式Linux(32位)解决方案?

在3238嵌入式Linux(ARMLinux)的C代码中处理时间的正确方法是什么,以确保代码在2038年1月19日03:14:07 UTC之后继续正常工作(当有符号的32位time_t溢出时)?鉴于time_t在我必须使用的系统上签名32位,有哪些替代方案?

大量的谷歌搜索没有发现任何实际用途.每个人似乎都认为到那时我们都将使用64位操作系统,但这显然不适用于嵌入式系统.

在我需要使用的系统上,__kernel_time_t定义为a long.这可能意味着64位时间没有内核工具.uClibc的版本是0.9.29.

我不敢相信我是唯一有这个问题的人,我不想重新发明轮子.

c 32-bit uclibc embedded-linux year2038

23
推荐指数
2
解决办法
3294
查看次数

#ifdef用于32位平台

在我维护的应用程序中,我们遇到了影响stdlib的文件描述符限制的问题.此问题仅影响标准库的32位版本.

我已经设计了一个修复我的代码,并希望实现它,但只有在编译32位可执行文件时.我可以#ifdef使用什么预处理器符号来确定是为32位还是64位目标编译代码?

编辑

对不起,没提,代码是跨平台,linux,windows,solaris和其他一些unix风格,大多使用GCC进行编译.我可以跨平台使用任何事实上的标准吗?

编辑2

我发现了一些似乎可能有用的定义"__ILP23"和"__LP64"... 这里的讨论解释了unix平台的背景.任何人都有使用这些定义的经验吗?这会有用吗?

c c++ 64-bit gcc 32-bit

21
推荐指数
5
解决办法
3万
查看次数

为什么abs(0x80000000)== 0x80000000?

我刚刚开始阅读Hacker's Delight,它将abs(-2 31)定义为-2 31.这是为什么?

我尝试printf("%x", abs(0x80000000))了几个不同的系统,我在所有系统上都找到了0x80000000.

c integer 32-bit bit-manipulation

21
推荐指数
4
解决办法
8000
查看次数

如何在Mac OSX 10.7 Lion上运行32位Java

根据我使用Windows 7(64位)和Java的经验,32位JRE使用更少的内存并且运行速度明显快于64位JRE(假设您不需要或从拥有大量内存中获益).我想同样的事情也适用于Mac OSX(和其他平台).

我目前正在运行OSX Lion(v10.7),我已经安装了标准的Java应用程序.在Java Preferences下,我看到"Apple Inc."中的"Java SE 6" 对于两种CPU类型"32位"和"64位"版本"1.6.0_26-b03-383".我已经更改了首选顺序,将32位版本置于64位版本之上,希望这会使32位版本成为默认版本.

但"java -version"仍然说:

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511c)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode)
Run Code Online (Sandbox Code Playgroud)

是否可以默认使用32位版本?如何?

此外,是否有人有关于32/64位版本之间的速度和内存效率的经验/比较测量?

java macos 32-bit osx-lion

21
推荐指数
2
解决办法
6万
查看次数

如何检测x64 Windows上是否安装了32位Java,仅查看文件系统和注册表?

我需要确定特定系统是否安装了32位Java.我正在进行远程查询,只允许我访问文件系统和注册表,因此我无法尝试运行java.exe或运行任何Java代码.

我还想确保我检测到IBM和Sun Java以及任何其他发行版,这些发行版似乎将文件放在文件系统和注册表中的不同位置.

我提出的最好的方法是检查C:\ Windows\SysWOW64\java.exe.这是测试32位Java存在的可靠方法,还是某些版本不会将java.exe放在该文件夹中?

更新:我仍然在寻找更加健全的答案.为了清楚起见,我无法访问命令提示符.此外,无论发布者是谁,安装了什么版本号,以及用户选择安装它的路径,我都想检测Java.

C:\ Windows\SysWOW64\java.exe似乎符合这些要求,但是我希望得到更多知识渊博的人的确认,即每个Java安装程序确实会将该可执行文件放在那里.

java 64-bit 32-bit

21
推荐指数
4
解决办法
9万
查看次数

如何增加intellij 32bit xmx超过1GB?

我在32位Windows XP上使用32位Intellij,内存为4 GB.
我试图将intellij xmx增加到1.5GB:-Xmx1500m
所以我知道JVM在32位系统中支持1.5GB的RAM.
但是这个错误从JVM抛出:

The JVM could not be started. The maximum heap size (-Xmx) might be too large ...
Run Code Online (Sandbox Code Playgroud)

我不能增加intellij Xmx超过900MB
请帮帮我!

java jvm 32-bit intellij-idea

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