-arch arch
为指定的目标体系结构arch编译.允许值为'i386','x86_64','ppc'和'ppc64'.多个选项有效,并指示编译器生成"通用"二进制文件,包括使用-arch指定的每个体系结构的对象代码.仅当汇编程序和库可用于指定的每个体系结构时,此选项才有效.(仅限苹果)
那么这两个调用之间的区别是什么:
gcc -arch i386 program.c
和
gcc -m32 program.c
它是否只是-arch更强大,因为它更灵活,并且在指定多个拱时可以生成通用二进制文件?
32位和64位.NET(4)应用程序之间有什么区别?
通常,32位应用程序在64位计算机上运行时会出现问题,反之亦然.我知道我可以将整数声明为int32和int64(当然32位系统上的int64会产生问题).编程32 OR 64位或32位和64位兼容应用程序之间是否存在其他差异?
我遇到的问题是创建一种大整数库.我想让它既跨平台又尽可能快.这意味着我应该尝试使用系统本机支持的大型数据类型进行数学运算.
我实际上不想知道我是在编译32位还是64位系统; 我需要的是根据可用的最大值创建64位或32位或任何位整数的方法.我会使用sizeof来表现不同,具体取决于它是什么.
以下是一些可能的解决方案及其问题:
使用sizeof(void*):这给出了指向内存的指针的大小.有可能(尽管不太可能)系统可能具有更大的内存指针,而不是能够进行数学运算,反之亦然.
总是使用long:虽然在几个平台上确实长整数是4字节或8字节,具体取决于体系结构(我的系统就是这样一个例子),但是一些编译器甚至在64位系统上实现了4个字节的长整数.
总是使用long long:在许多32位系统上,这是一个64位整数,可能效率不高(虽然可能比我编写的代码更有效).这个问题的真正问题在于某些架构(例如为我的mp3播放器供电的架构)可能根本不支持它.
要强调的是,我的代码并不关心整数的实际大小一旦被选中(它依赖于sizeof()来处理大小重要的事情).我只是想让它选择整数的类型,这将导致我的代码最有效.
在64位操作系统上运行的32位程序是否可以使用超过4GB的内存(如果可用)?
我希望这篇文章不是重复的.让我解释:
我考虑过类似的帖子如何在Windows下暂停/恢复任何外部进程?但是使用C++/Python首选项,但截至发布时尚未接受答案.
我的问题:
我感兴趣的所提供的功能在Delphi一个可能的实现PsSuspend通过标记Russinovich的的Windows Sysinternals的.
行情:
PsSuspend允许您暂停本地或远程系统上的进程,这在进程占用您希望允许不同进程使用的资源(例如网络,CPU或磁盘)的情况下是理想的.而不是杀死正在消耗资源的进程,暂停允许您让它在稍后的某个时间点继续运行.
谢谢.
编辑:
部分实现可以.可以删除远程功能.
我目前正在使用需要运行32位系统的旧代码.在这项工作中,我偶然发现了一个问题(出于学术兴趣),我想了解其原因.
如果对变量或表达式进行强制转换,似乎在32位C中从float转换为int的行为会有所不同.考虑该计划:
#include <stdio.h>
int main() {
int i,c1,c2;
float f1,f10;
for (i=0; i< 21; i++) {
f1 = 3+i*0.1;
f10 = f1*10.0;
c1 = (int)f10;
c2 = (int)(f1*10.0);
printf("%d, %d, %d, %11.9f, %11.9f\n",c1,c2,c1-c2,f10,f1*10.0);
}
}
Run Code Online (Sandbox Code Playgroud)
使用-m32修饰符直接在32位系统或64位系统上编译(使用gcc),程序的输出为:
30, 30, 0, 30.000000000 30.000000000
31, 30, 1, 31.000000000 30.999999046
32, 32, 0, 32.000000000 32.000000477
33, 32, 1, 33.000000000 32.999999523
34, 34, 0, 34.000000000 34.000000954
35, 35, 0, 35.000000000 35.000000000
36, 35, 1, 36.000000000 35.999999046
37, 37, 0, 37.000000000 37.000000477
38, …Run Code Online (Sandbox Code Playgroud) 我敢肯定我们都听过64bit和32bit的条款,但它们究竟是什么意思?
我很确定它们与内存地址的大小有关.在64位机器上,对象的引用是64位.但我想深入挖掘一下......
人们经常听到"64位机器"这个短语.计算机的哪一部分实际上是针对位数?处理器?操作系统?
拥有更大的内存地址有什么好处?
我可以添加更多问题,但我认为简短更好.
谢谢你们:D
我正在构建一个加载32位COM dll的C#应用程序.编译的应用程序在32位Windows上正常运行,但在64位Windows上运行barfs,因为它无法加载32位COM.有没有办法在VC#2008 Express Edition中设置32位构建目标?
或者,有没有办法强制编译到AnyCPU构建目标的.NET应用程序在64位Windows上以32位模式运行?
有谁能告诉我什么是一个有效的算法来计算C编程中32位无符号整数中前导零的数量?
我目前正在运行Windows 7 Home 64位,我正在开发一个程序,我想为32位和64位Windows操作系统提供这些程序.当我使用cx_Freeze将.py转换为.exe时,它只允许将其安装在64位操作系统上.
我是否需要购买一台32位计算机才能将其转换为32位程序,或者是否有一组特殊的命令可用于使cx_freeze同时创建x32和x64 exe?
from cx_Freeze import *
import sys
base = None
if sys.platform == 'win32':
base = "Win32GUI"
executables = [Executable("iNTMI.py", shortcutName = "iNTMI", shortcutDir = "DesktopFolder", base = base, icon = "C:/Program Files/iNTMI/assets/images/programIcon.ico")]
setup(
name = "iNTMI",
options = {"build_exe": {"packages": ["tkinter", "minecraftItems", "ProgFunctions", "minecraftItems"], "include_files": ["ProgFunctions.py", "minecraftItems.py"]}},
executables = executables
)
Run Code Online (Sandbox Code Playgroud)