C/C++ 特殊 CPU 功能的使用

2024-05-05

我很好奇,新的编译器是否使用了新 CPU 中内置的一些额外功能,例如 MMX SSE、3DNow!所以?

我的意思是,在最初的 8086 中甚至没有 FPU,所以旧的编译器甚至不能使用它,但新的编译器可以,因为 FPU 是每个新 CPU 的一部分。那么,新的编译器是否使用了CPU的新特性呢?

或者,更应该问的是,新的C/C++标准库函数是否使用了新特性?

感谢您的回答。

EDIT:

好的,所以,如果我说得对,即使是一些标准操作,尤其是浮点数,也可以使用 SSE 更快地完成。

为了使用它,我必须在我的编译器中启用此功能(如果它支持)。如果是这样,我必须确保目标平台支持该功能。

如果某些需要顶级性能的系统库,例如OpenGL、DirectX等,系统可能会支持此支持。

默认情况下,出于兼容性原因,编译器不支持它,但您可以使用 Intel 等提供的特殊 C 函数来添加此支持。这应该是最好的方法,因为您可以直接控制天气以及何时使用所需平台的特殊功能,以编写多CPU支持的应用程序。


gcc 将通过命令行参数支持更新的指令。看here http://www.network-theory.co.uk/docs/gccintro/gccintro_64.html了解更多信息。去引用:

海湾合作委员会可以利用 MMX 中的附加指令, SSE、SSE2、SSE3 和 3dnow 扩展 最新的 Intel 和 AMD 处理器。 选项 -mmmx、-msse、-msse2、 -msse3 和 -m3dnow 启用这些额外指令的使用,允许 要处理的多个字的数据 在平行下。生成的可执行文件 仅在支持的处理器上运行 适当的扩展——在其他方面 他们会崩溃的系统 非法指令错误(或类似错误)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C/C++ 特殊 CPU 功能的使用 的相关文章

随机推荐

  • 接口作为类型约束和接口作为参数之间的区别?

    如果我想创建一个采用实例的方法IList作为参数 或任何其他接口 但让我们使用IList作为一个例子 我可以创建一个带有类型约束的通用方法 例如 public static void Foo1
  • SalesForce.com:通过 PHP 检索自定义字段

    我在 SalesForce DE 站点中创建了一个简单的自定义联系人对象 API 名称为 Contact c 该对象有一个 Full Name c 字段 用于测试连接 然后我尝试通过 PHP 检索所有联系人 特别是此字段 try mySfo
  • Chrome 的用户代理切换器

    我正在寻找适用于 Chrome 的用户代理切换器 正在搜索Chrome 网上应用店 https chrome google com webstore没有拿出一个简单的切换器 我知道我可以通过命令行和参数运行浏览器 Google Chrome
  • 带日志图的 Type 1 字体

    我正在尝试使用 Matplotlib 图表作为相机就绪的一部分 提交 出版社要求使用Type 1字体 仅有的 我发现 PDF 后端很乐意输出 Type 1 字体 具有线性 Y 轴的简单图形 但输出 Type 3 字体 对数 Y 轴 使用对数
  • 带有 epgm 的 ZeroMQ PUB/SUB 无法接收同一主机上进程发送的消息

    我的所有进程都有两个套接字 一个 PUB 和一个 SUB 并且它们都使用相同的多播地址和端口 例如 PUB 会这样做 绑定 epgm 239 192 1 1 5555 SUB 将执行以下操作 连接 epgm 239 192 1 1 5555
  • 确定$.ajax错误是否是超时

    我正在利用魔法jQuery ajax settings 不过 我想知道是否有人经常使用超时设置 我知道它基本上是为了规定请求的本地时间 但是如果达到超时 它会触发任何事情吗 或者它只是停止监听响应 阅读 jQuery 站点 我可以看到没有传
  • PHP include():文件大小和性能

    一个没有经验的PHP问题 我有一个 PHP 脚本文件 我需要在不同页面的很多地方多次包含该文件 我可以选择将包含的文件分解为几个较小的文件 并根据需要包含这些文件 或者 我可以将它们全部保存在一个 PHP 文件中 我想知道在这种情况下使用较
  • JSON 和 AJAX 与 jQuery 有什么区别?

    我听说 JSON 会序列化所有数据 这可以防止我在跨浏览器支持等方面遇到客户端问题 我一直在使用 AJAX 和 jQuery 这看起来很简单 但我不确定其中的区别 我读过我也可以使用它来获取数据 ajax url url dataType
  • python:Windows终端中的unicode,使用的编码?

    我在 Windows 7 终端中使用 Python 解释器 我正在尝试了解 unicode 和编码 I type gt gt gt s gt gt gt s x89 gt gt gt u u gt gt gt u u xeb 问题1 字符串
  • 向子元素添加另一个 CSS 样式,该子元素也是父元素

    所以我的列表看起来像这样
  • 使 SVG 中的混合模式真正起作用吗?

    我曾多次做过以下事情
  • hashlib 和 urandom 哪个更随机?

    我正在和一个朋友一起开发一个项目 我们需要生成随机哈希 在我们有时间讨论之前 我们都提出了不同的方法 并且因为他们使用不同的模块 我想问你们大家什么会更好 如果有这样的事情的话 hashlib sha1 str random random
  • Magento:每个订单限制类别中的 3 个产品

    我正在尝试在 Magento 中设置一个示例产品类别 允许人们每次购买时最多选择 3 个免费样品 但如何限制每个订单仅从该类别中选择 3 个样品 EDIT 这是 app code local MagePal LimitCartProduct
  • OutputStream 到 DB2 数据库表的 BLOB 列

    在 DB2 数据库中 我有下表 CREATE TABLE MyTestTable MYPATH VARCHAR 512 NOT NULL MYDATA BLOB CONSTRAINT MYTESTTABLE PK PRIMARY KEY M
  • -[NSNull objectForKeyedSubscript:]:无法识别的选择器发送到实例

    我有一个例外 上面写着 NSNull objectForKeyedSubscript unrecognized selector sent to instance 它是否说我正在尝试访问NSNull有钥匙的物体 知道导致此问题的原因以及如何
  • numpy 沿第一个轴添加

    我想通过简单地沿第一个轴执行相同的加法来添加两个具有不同维度的数组 非矢量化解决方案 x np array 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 shape 4 3 2 y np a
  • 无法定义 set 和 get 方法

    尝试使用访问器定义属性时出现错误 这是我的代码 var person Object defineProperty person birthYear value 1997 writable true enumerable true confi
  • Python:使用 FOR 循环插入字典

    我已经在论坛中进行了搜索 但不明白是否可以使用以下构造将新条目插入到我的 Python 字典中 而不将其转换为列表 for x in range 3 pupils dictionary new key input Enter new key
  • Python Shutil.copy 如果我有重复文件,它会复制到新位置吗

    我正在与shutil copypython 中的方法 我找到了下面列出的定义 def copyFile src dest try shutil copy src dest eg src and dest are the same file
  • C/C++ 特殊 CPU 功能的使用

    我很好奇 新的编译器是否使用了新 CPU 中内置的一些额外功能 例如 MMX SSE 3DNow 所以 我的意思是 在最初的 8086 中甚至没有 FPU 所以旧的编译器甚至不能使用它 但新的编译器可以 因为 FPU 是每个新 CPU 的一