标签: processor

"char"和"small int"比"int"慢吗?

可能重复:
内置类型的性能:char vs short vs int vs. float vs. double

你好.假设您有32位处理器.8位char和16位short int类型比原生32位慢int吗?那么使用64位long long int呢?

默认情况下硬件是否支持此数据类型,或者通过使用其他指令将它们全部转换为32位数据?

如果我必须存储少量的字符,将它们存储为整数是不是更快?

c c++ compiler-construction processor

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

C++获取处理器ID

这个帖子还可以. 如何获得处理器和主板ID?

我想使用不使用WMI或任何第三方库的C++代码获取处理器ID.

或者计算机上的任何东西都是独一无二的.有一件事是以太网ID,但在某些机器上又可以移除.我想主要用于许可目的.

处理器ID是否唯一且可在所有主要处理器上使用?

c++ windows processor

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

使用arm-none-eabi-gcc编译并链接库liba.a错误

我正在64位Linux机器上用C编译一个hello world程序.我正在使用GCC ARM嵌入式工具链在带有ATMEL AT91SAM9G20处理器的FOX G20 V板上交叉编译我的程序.

在第一次拍摄时,我在编译时遇到了一些错误,因为程序无法识别printf,return等函数(标准C函数).所以我决定在函数之间建立联系,我认为这些函数是在libc.a库中定义的(如果我错了,请纠正我),arm-none-eabi-gcc -o hello hello.c libc.a但是结果仍会导致错误:

libc.a(lib_a-exit.o): In function `exit':
exit.c:(.text.exit+0x16): undefined reference to `_exit'
libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'
libc.a(lib_a-writer.o): In function `_write_r':
writer.c:(.text._write_r+0x10): undefined reference to `_write'
libc.a(lib_a-closer.o): In function `_close_r':
closer.c:(.text._close_r+0xc): undefined reference to `_close'
libc.a(lib_a-fstatr.o): In function `_fstat_r':
fstatr.c:(.text._fstat_r+0xe): undefined reference to `_fstat'
libc.a(lib_a-isattyr.o): In function `_isatty_r':
isattyr.c:(.text._isatty_r+0xc): undefined reference to `_isatty'
libc.a(lib_a-lseekr.o): In function `_lseek_r':
lseekr.c:(.text._lseek_r+0x10): undefined reference to `_lseek'
libc.a(lib_a-readr.o): In function `_read_r': …
Run Code Online (Sandbox Code Playgroud)

c linux gcc arm processor

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

C代码如何在不同的处理器上运行?

据我所知,C代码被编译为某人机器上的机器(汇编)代码,它变成了一个可以在许多不同处理器(机器)上运行的exe文件.但是由于不同的处理器有自己独特的汇编代码,这个代码怎么运行?编译后的exe只能在一种处理器上运行吗?

c assembly processor

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

如何在C++中使用处理器指令来实现快速算术运算

我正在研究Shamir的秘密共享方案的C++实现.我将消息拆分为8位块,并在每个块上执行相应的算术运算.基础有限域是Rijndael的有限域F_256 /(x ^ 8 + x ^ 4 + x ^ 3 + x + 1).

如果Rijndael的有限域计算有一些众所周知的扩散库(例如OpenSSL或类似的),我快速搜索,但没有发现任何.所以我从头开始实现它,部分是作为编程练习.然而,几天前,我们大学的一位教授提到:"现代处理器支持无进位整数运算,因此特征-2有限域乘法现在运行得很快."

因此,由于我对硬件,汇编器和类似的东西知之甚少,我的问题是:在构建加密软件时,如何实际使用(在C++中)所有现代处理器的指令 - 无论是AES,SHA,上面的算术还是其他什么?我找不到任何令人满意的资源.我的想法是构建一个包含两者的库:"现代方法快速实现"和后备 "纯C++无依赖代码",让GNU Autoconf决定在每个相应的主机上使用哪一个.有关此主题的任何书籍/文章/教程建议将不胜感激.

c++ assembly processor instruction-set

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

我怎么能以编程方式强调手机的CPU?

所以我把我的手机超频到了1.664ghz,我知道有些应用可以测试你的手机的CPU性能和修饰器,但我想自己做一些.真正让CPU工作的最佳方法是什么?我只是想做一个for循环做一百万次迭代做一些耗时的数学......但这不起作用,因为我的手机在几毫秒内做到了我认为......我尝试了数万亿次迭代......应用程序冻结,但我的任务管理器甚至没有显示应用程序使用的CPU.通常压力测试应用程序显示为红色并说cpu:85%ram:10mb ...那么我怎样才能真正让我的处理器认真思考?

cpu android processor stress-testing root

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

是否有任何此类处理器具有绕过缓存的指令?

是否有任何此类处理器具有绕过特定数据缓存的指令?这个问题也有一个答案,表明SSE4.2指令绕过缓存.有人可以启发我吗?

c x86 assembly processor

7
推荐指数
2
解决办法
1784
查看次数

编译器如何"知道"如何将代码转换为特定于处理器的程序集?

答案者已经知道的东西,但在这里,无论如何都要显示我的思考过程:

从HLL到机器代码,这里发生了大量的事件(有连接器和其他东西,但是现在让我们忽略它):

HLL - >编译器 - >汇编程序---->机器代码

根据我购买的硬件,它可能有不同的处理器(Intel,SPARC,ARM等).汇编语言是特定于处理器的.因此,当代码来自Compiler - > Assembler时,生成的汇编代码是特定于处理器的.

切入点:

例如:我的硬件上有Windows操作系统.而且,我得到'用于Windows 7 64位的C编译器'.而且我在同一硬件上也有Ubuntu,我得到'Ubuntu 64位的C编译器'.

  1. 我可以在具有不同处理器架构的不同硬件上使用相同的OS,或者在相同硬件上使用不同的OS(如上例所示).当我下载C编译器时,为什么编译器被列为特定于操作系统?而不是处理器特定?由于编译器的重点是将HLL转换为Assembly,这是特定于处理器体系结构而不是特定于操作系统.

  2. 假设1.事情是如何完成的,当我下载适用于Windows 7和Ubuntu的编译器时,编译器如何知道要生成哪个特定于处理器的汇编代码?编译器是否附带各种特定于处理器的汇编程序?

compiler-construction assembly processor processor-architecture

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

从没有超线程的计算机获取内核总数

这是困难的一个。

我需要使用命令从我的服务器输出确切数量的内核。

我的测试:

  • X在具有 4 个处理器(插槽)和 2 个内核的 Windows 服务器上,每个内核都没有 HT。
  • Y在具有 2 个处理器(插槽)和 6 个内核的 Windows Server 上,每个内核都带有 HT。

GetSystemInfo只为我提供安装的处理器数量:X 为 4,Y 为 2。

|                | X: 8 cores  | Y: 12 cores |
|                | 4x2 (no HT) | 2x6 (HT)    |
|----------------|-------------|-------------|
| Desired output | 8           | 12          |
| GetSystemInfo  | 4           | 2           | 
Run Code Online (Sandbox Code Playgroud)

%NUMBER_OF_PROCESSORS%是一个很好的,但它考虑到了HT。它告诉我 X 为 8,Y 为 24(因为它有 HT,我需要它显示 12)。

|                        | X: 8 cores  | …
Run Code Online (Sandbox Code Playgroud)

windows processor hyperthreading cpu-cores

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

Chrome DevTools 中 4 倍慢的 CPU 节流在硬件方面模拟了什么?

这个问题可能有一个更好的论坛,所以我愿意接受建议来移动它。

如果我使用的是 2017 年 15" MacBook Pro(2.9 GHz Intel Core i7)并且我在 Chrome DevTools 中将 CPU 节流到慢 4 倍,我在模拟什么样的硬件?它是否像将时钟速度除以 4 一样简单, 我想不是...

我正在努力确定这种限制级别是否与我正在开发的应用程序相关。

processor performance-testing google-chrome-devtools

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