Cygwin 上的 C 编译器生成什么?

2024-01-22

根据下面的 recognize-compilers.sh 脚本的输出,Cygwin 上似乎可以使用以下 C 编译器。那些标记为“Cygwin”的要求 cygwin1.dll 文件可用。

“pc”和“w64”编译器有什么区别?

为什么没有 x86_64-pc-mingw-gcc.exe 可执行文件?

还有其他可用的 C 编译器吗?

/usr/bin/gcc.exe                        64-bit  Cygwin
/usr/bin/i686-pc-cygwin-gcc.exe         32-bit  Cygwin
/usr/bin/i686-pc-mingw32-gcc.exe        32-bit
/usr/bin/i686-w64-mingw32-gcc.exe       32-bit
/usr/bin/x86_64-pc-cygwin-gcc.exe       64-bit  Cygwin
/usr/bin/x86_64-w64-mingw32-gcc.exe     64-bit

$ cat identify-compilers.sh
#!/bin/bash
for c in $(ls -1 /usr/bin/*gcc.exe); do
    echo === compiler: $c
    $c -o hello.exe hello.c
    objdump -p hello.exe | grep -i "cygwin"
    objdump -p hello.exe | grep -i "64$"
    rm hello.exe
done

  1. gcc只是一个硬链接x86_64-pc-cygwin-gcc

  2. x86_64-pc-cygwin-gcc and i686-pc-cygwin-gcc正如你所说的 Cygwin 编译器,也就是说创建依赖于 在cygwin1.dll

  3. x86_64-w64-mingw32-gcc and i686-w64-mingw32-gcc是否提供编译器 由Mingw-w64 项目 http://mingw-w64.org

  4. i686-pc-mingw32-gcc是由提供的编译器MinGW项目 http://mingw.org

您可能想知道,为什么是两个 Mingw 项目? Mingw-w64 项目是 开始是因为 MinGW拒绝领养 http://sourceforge.net/p/mingw-w64/wiki2/History64 位编译器。这之间 以及开始的MSYS2 项目 http://msys2.sourceforge.net,我考虑MinGW项目 过时的。

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

Cygwin 上的 C 编译器生成什么? 的相关文章

  • 用更有意义的文本替换 GCC 输出中的 a-hats [重复]

    这个问题在这里已经有答案了 可能的重复 为什么 gcc 的所有错误消息中都有 https stackoverflow com questions 547071 why does gcc have a in all its error mes
  • 在 Ubuntu 上用 C 项目编译和链接 GTK 3

    我相信这不是重复的问题 在发布此问题之前我已经看过所有问题 答案 我想我这里的情况有所不同 我使用Ubuntu 12 04并下载GTK 2 和 3 我从 GNOME 网站复制了一个简单的 GTK 源代码 但是当我在终端中使用这个命令时 gc
  • 关闭时不会调用 SetConsoleCtrlHandler

    我编写了一个在控制台中运行的应用程序 需要在系统关闭或用户注销之前进行快速备份 我的测试应用程序编写一个带有信号的文件 并在手动关闭控制台窗口 单击 X 时工作 但当控制台在关机或注销时关闭时 它不起作用 从我在 MSDN 上读到的内容来看
  • GCC 和 -Wconversion

    让我们编译以下程序 int main uint16 t data 0 data uint16 t std round 3 14f return 0 with g Wconversion prog cpp 我们会得到warning conve
  • 使用 cygwin 安装 rsync [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想通过 rsync 备份 Solaris 服务器上的 Win XP 中的目录 我安装了 cygwin 但是当我输入 rsync 时 我得
  • 分析 ELF 部分和符号大小的工具

    我需要一种方法来分析 ARM 的 GCC 编译器的输出文件 我正在为裸机进行编译 并且我非常关心大小 我可以用arm none eabi objdump由交叉编译器提供 但如果存在用于此任务的工具 则解析输出并不是我渴望做的事情 您知道存在
  • 如何在 cygwin 下配置 Mercurial 以使用 WinMerge 进行合并?

    当 Mercurial 在 cygwin 下运行时 弄清楚如何生成有点棘手WinMerge http winmerge org 来解决合并冲突 我怎样才能做到这一点 诀窍是 cygwin 路径与 Windows 路径不同 因此您需要一个小脚
  • gcc 不太可能使用宏

    我正在编写一段关键代码 其逻辑大致如下 if expression is true do something with extremely low latency before the nuke blows up This branch i
  • 'goto *foo' 其中 foo 不是指针。这是什么?

    我正在玩标签作为值 https gcc gnu org onlinedocs gcc Labels as Values html并最终得到这段代码 int foo 0 goto foo 我的 C C 经验告诉我 foo means dere
  • 如何在 Windows 7 中与 Cygwin 建立符号链接

    最近我测试了用 C C 原生代码编写 Android 应用程序 问题在于使用 Android NDK 时创建符号链接 经过一番谷歌搜索后 有人说使用 Cygwin 我现在已经安装了 如何在 Windows 7 中与 Cygwin 建立符号链
  • 为什么是 ”\?” C/C++ 中的转义序列?

    C C 中有四种特殊的非字母字符需要转义 单引号 双引号 反斜杠 和问号 显然是因为它们有特殊的含义 对于单身char 对于字符串文字 对于转义序列 但为什么是 其中之一 我今天读了教科书上的转义序列表 我意识到我已经never逃脱了 以前
  • 编译时未定义对“WinMain@16”的引用

    我刚刚安装视觉工作室代码当出现这个问题时 我正在尝试运行我的代码 编译时未定义对 WinMain 16 的引用 我在网上搜索了相关答案 但没有找到有效的答案 这里有一个更详细的output在控制台中 cd f g testing cpp o
  • clang 是否提供类似于 GCC 6.x 的函数多版本控制 (target_clones) 的功能?

    我读了这篇 LWN 文章 https lwn net Articles 691932 饶有兴趣 执行摘要 GCC 6 x 支持所谓的函数多版本控制 它可以构建同一函数的多个版本 并针对不同的指令集进行优化 假设您有一台支持 AVX2 的机器
  • 有没有办法在输出二进制文件中存储 clang 编译时标志?

    使用 clang 时 有没有办法在输出二进制文件中存储编译时标志 例如运行后 clang O3 c main c 所结果的main o文件应该包含在某处 O3 gcc has frecord gcc switches https stack
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • C语言中如何通过内存地址映射函数名和行号?

    如何用 GCC 中的内存地址映射回函数名称和行号 即假设一个 C 语言原型 void func Get the address of caller maybe this could be avoided MemoryAddress get
  • Clang 3.2 构建在构建 gcc 4.7 后损坏

    所以我知道 Clang 大多数时候 依赖于 Gnu 的 libstdc 3 但是在构建 gcc 4 7 0 因为太棒了 之后 我似乎遇到了问题 clang 的所有路径都是错误的 我是否需要清理我的构建目录并从头开始使用 clang 特别是它
  • 链接器问题 - 未定义的引用

    我的编译器有问题 告诉我有一个 未定义的引用 我想在库中使用的函数 让我分享一些有关该问题的信息 我正在用 gcc 交叉编译 C 语言 我正在调用一个库函数 该函数通过包含的标头访问 其中包含另一个标头 其中包含原型 我已经使用 I 包含了
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • Windows 上 libcurl 的静态库[重复]

    这个问题在这里已经有答案了 如何将此库 libcurl 静态链接到 exe 我努力了 disable share enable static 没有帮助 我使用的是MingW32 有没有一种简单的方法来静态链接这个库 这样我的应用程序就不再有

随机推荐

  • 如何使 tf.data.Dataset 在一次调用中返回所有元素?

    有没有一种简单的方法来获取整个元素集tf data Dataset 即我想将数据集的批量大小设置为我的数据集的大小 而无需专门向其传递元素数量 这对于验证数据集非常有用 我想一次性测量整个数据集的准确性 我很惊讶没有一种方法可以获取 a 的
  • 在 Jenkins for Git 中管理 SSH 密钥

    我正在尝试让 Jenkins 启动并运行 GitHub 托管存储库 使用 Jenkins Git 插件 该存储库有多个 git 子模块 因此我不确定是否要尝试管理多个部署密钥 我的个人 GitHub 用户帐户是我希望使用 Jenkins 参
  • 软件导致连接中止。回复返回错误:连接无效

    My Xcode 9 gives the message to which I don t know how to respond I want to run the app to my simulator and I am getting
  • 在 Angular 2/Angular-CLI 中将 CSS 排除在 JS 之外

    默认情况下 Angular 2 将 CSS 编译为 JavaScript 尤其是在 Angular CLI 中使用 WebPack 时 我宁愿这种情况不要发生 原因有几个 第一个原因是 当我开发时 我发现能够在开发人员工具中准确地看到特定样
  • 如何管理缓存的IDisposable对象?

    我有一个创建成本很高的对象 它使用一些非托管资源 这些资源在完成后必须显式释放 因此实现 IDisposable 我想要一个缓存 例如这些昂贵的资源 以便最小化创建成本 但我不知道如何处理处置 如果使用对象的方法负责处置 那么我最终会在缓存
  • Windows 上的 GVIM:禁用 tmp 文件创建的方法

    我在 Windows 上使用 gvim 我想知道一种禁用临时文件 以 结尾 文件创建的方法 还有如果我们这样做的话会有问题吗 您可以通过将此行放入 vimrc 中来禁用备份文件 set nobackup 我几乎总是这样做 因为 文件更烦人而
  • 如何使用 python mysqldb 一次插入多行

    我有一个列表列表 例如 a b c d 我有一张桌子叫T和两个字段F1 F2 字段列表中的第一项映射到F1 其次是F2 如何在单个命令或调用中为每个内部列表插入行 而不是使用这样的 for 循环 for i in a b c d c exe
  • jqgrid 在网格加载后将单元格输入更改为只读

    加载所有网格数据后 如何将单元格输入更改为 只读 我只希望加载的行将此单元格设置为只读 当我添加新行时 我不希望此单元格设置为只读 提前致谢 UPDATE 这是我的代码 Grid1 jqGrid editurl clientArray da
  • Python 错误:未指定主机

    我刚刚写了一个简单的python demo 同时遇到了一个令人困惑的问题 import requests print requests get http www sina com cn 我知道正确的结果是返回 Response 200 但是
  • PHP的use语句在加载类时会导致额外的工作吗?

    代码示例1 use Outline Drawing var new Drawing 代码示例2 var new Outline Drawing 问题 如果我使用示例 1 中的代码 PHP 是否会使硬件工作更加困难 查找更多文件或执行更多处理
  • 在 Flask 中同时渲染多个模板

    我正在制作一个 Flask 应用程序 我有一个登录区域 一个博客区域 如果我想获取用户的登录信息 我将渲染登录模板 但这不会呈现必须显示在登录区域下方的博客模板 我会尽力让它更清楚 block login endblock blah bla
  • SSIS 脚本组件删除 CHAR(和)字段中的“\0”字符

    我目前正在开发一个字段中有 0 字符的数据库 例如领域 Category CHAR 4 有时值为 0 0 0 0 4 个零字符 有时为 4 个空白字符 我想使用脚本组件来区分存在此问题的所有字段 我编写了以下脚本 但它不起作用 因为 C 将
  • 设置 AnchoredOffsetbox 的线宽和面颜色?

    是否可以更改 AnchoredOffsetbox 的线宽 面颜色等 我用它来列出我的图旁边的一些变量 例如 A 1 B 2 以这种方式 垂直对齐 所以它有点像一个额外的图例 但句柄也是文本 但我不知道如何像图例那样设置框架的属性 非常感谢任
  • 动态更改 Quill 占位符

    我知道在实例化 Quill 编辑器时 有一个占位符选项 有没有一种方法可以在实例化编辑器后动态更改此占位符 占位符是通过 CSS 规则实现的 ql editor before content attr data placeholder 所以
  • 如何在别名列上使用聚合函数 SUM?

    Invoice ID PO Number and dueDate are shown in duplicates TotalPrice 是一个别名 应该是单价 总价是一个错误 所以假设是单价而不是总价 TotalShippingPrice
  • JSON.net 与 XPATH:如何保留 SelectToken 中的节点顺序?

    XPath 2 规定应按照文档中的顺序返回选择的节点顺序 当您在 JSON Net 中 SelectTokens JSONPath 时 情况似乎并非如此 当我处理以下文档时 string json Files dir1 Files file
  • 文件版本信息和程序集信息

    给出 Blah dll 的 AssemblyInfo cs 中的这段代码 assembly AssemblyVersion 3 3 3 3 assembly AssemblyFileVersion 2 2 2 2 然后在一个单独的 exe中
  • 如何将字符串转换为HashMap? [复制]

    这个问题在这里已经有答案了 我有一个 Java 属性文件 并且有一个KEY as ORDER 所以我检索VALUE那个KEY使用getProperty 加载属性文件后的方法如下 String s prop getProperty ORDER
  • Java 8 Javascript 引擎向后兼容性

    我正在我的项目中尝试 Java 8 但遇到了与构建过程相关的错误 我正在使用 ANT 脚本 有时我会使用一些 javascript 嵌入到 ANT 中 来执行一些构建特定的操作 导致错误的脚本部分如下所示 该项目使用 Java 7 或 Ja
  • Cygwin 上的 C 编译器生成什么?

    根据下面的 recognize compilers sh 脚本的输出 Cygwin 上似乎可以使用以下 C 编译器 那些标记为 Cygwin 的要求 cygwin1 dll 文件可用 pc 和 w64 编译器有什么区别 为什么没有 x86