在 GCC 中编译而不生成输出文件

2023-11-21

$ gcc -c somefile.c无需链接即可编译并生成相应的somefile.o.

是否可以编译文件gcc不生成任何输出文件?

我知道还有其他方法可以实现此目的,但我很好奇是否有一个标志专门用于正在经历寻找错误/警告的源代码。


您可能会喜欢-fsyntax-only选项。它不会在磁盘上写入任何内容,只是检查代码是否有效。

您可以使用以下命令检查它是否没有在磁盘上写入任何内容:

$ strace -e write -f gcc -fsyntax-only test.c
Process 14033 attached
[pid 14033] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14033, si_status=0, si_utime=0, si_stime=0} ---
+++ exited with 0 +++

与使用的其他命令进行比较-c -o /dev/null反而:

rodrigo@P41CCTX5:/tmp$ strace -e write -f gcc -c -o /dev/null test.c
Process 14182 attached
[pid 14182] write(3, "\t.file\t\"a.c\"\n\t.text\n\t.globl\tfoo\n"..., 353) = 353
[pid 14182] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14182, si_status=0, si_utime=0, si_stime=1} ---
Process 14183 attached
[pid 14183] write(3, "\0a.c\0foo\0", 9) = 9
[pid 14183] write(3, "U\211\345]\303\0GCC: (Ubuntu 4.8.2-19ubunt"..., 42) = 42
[pid 14183] write(3, "\24\0\0\0\0\0\0\0\1zR\0\1|\10\1\33\f\4\4\210\1\0\0\34\0\0\0\34\0\0\0"..., 56) = 56
....
[pid 14183] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14183, si_status=0, si_utime=0, si_stime=0} ---
+++ exited with 0 +++
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 GCC 中编译而不生成输出文件 的相关文章

随机推荐

  • 将url参数添加到asp主题文件夹中的css文件中

    我编写了一些有助于 js 文件版本控制的代码 本质上 它围绕当前脚本管理器旋转 并附加 javascript 文件路径和文件的 md5 哈希值 所以 becomes 我认为这是相当常见的事情 或其变体 我正在努力做的是拿起 app them
  • 如何从不在现场的节点拍摄快照

    情况是这样的 我有一个Mesh and PointLight添加到窗格中 我想从窗格中拍摄快照并在图像视图中显示结果 但只有当我将窗格添加到场景中时它才起作用 有没有办法从尚未添加到场景中的节点拍摄快照 根据文件节点快照 注意 为了使 CS
  • 查找循环队列中的元素数量

    如何找到循环队列中的项目数 前后 并不总是有效 有没有一个公式可以根据数组的前 后和大小来知道循环队列中有多少个元素 实际上尺寸是 size front gt rear MAX front rear 1 rear front 1 或者可以采
  • 如何在不使用任何外部工具的情况下使用批处理文件压缩(/ zip)和解压缩(/ unzip)文件和文件夹?

    我知道类似的问题在这里被问了很多 但我对答案 甚至是问题 并不完全满意 主要目标是兼容性 它应该适用于尽可能广泛的 Windows 机器 包括XP Vista and 服务器2003 仍然占据大约 20 的 Windows 份额 并且生成的
  • 在Python中,如何获取列表中出现次数最多的内容,并以这种方式对其进行排序?

    3 3 3 4 4 2 将会 3 3 4 2 2 1 输出应按从最高计数到最低计数的顺序排序 在这种情况下 3比2比1 您可以使用Counter在 Python 2 7 中 这个食谱适用于 2 5 from collections impo
  • 从 gulp 中使用 browserify 时如何向浏览器公开“require”?

    当我有一个如下所示的文件 x js 时 x js module exports function n return n 111 我从命令行运行 browserify 如下所示 browserify r x js gt bundle js 我
  • WinForms 应用程序的常见漏洞

    我不确定这是否是主题 但它是如此特定于 NET WinForms 因此我相信它在这里比在 Security stackexchange 站点更有意义 此外 它与安全编码 我认为这与我在网站上看到的常见网站漏洞的任何问题一样切题 多年来 我们
  • UINavigationBar 在 AppDelegate.swift 中设置自定义阴影

    我想在整个应用程序的 UINavigationBar 底部设置一些阴影 这是我尝试过但不起作用的方法 func application application UIApplication didFinishLaunchingWithOpti
  • docker autobuild 与 git private 子模块

    我在 GitHub 上有两个私有存储库 名为dashboard and ui 我定义了ui作为 git 子模块dashboard 我将 docker 配置为自动构建dashboard关于特定分支上的每个更改 我读过这个文档https doc
  • 会话欺骗 (PHP)

    我正在用 PHP 编写一个包含布尔值的网站 SESSION logged in 这被设置为true当数据库中存在用户名和密码匹配时 我对会话相当陌生 只是想知道未注册 或者注册 用户是否可以通过将此布尔值设置为来绕过登录过程true 就像
  • 角度 $http POST 到 target="_blank"

    我需要做一个POST从 Angular 到 URL makeFile php它将根据其中提供的信息创建一个包含数据库查询内容的文件POST data PHP 强制浏览器打开一个保存对话框 而不仅仅是显示以下两行响应 header Conte
  • 确定在 Tkinter 中按下了哪个按钮?

    我在学习 Python 的同时制作了一个简单的小实用程序 它动态生成按钮列表 for method in methods button Button self methodFrame text method command self pop
  • PHP scandir() 和 htmlentities():字符集和/或特殊字符的问题

    我在用jquery文件树显示服务器上的目录列表以及目录中文件的下载链接 最近我遇到了包含特殊字符的文件的问题 test pdf 工作正常 t st pdf 不起作用 注意文件名中的 重音符号 在调试 jqueryFileTree 的 php
  • Python 中的字符串混淆

    我有一个必须传递给方法的密码字符串 一切正常 但我觉得以明文形式存储密码不太舒服 有没有办法混淆字符串或真正加密它 我知道混淆可以进行逆向工程 但我认为我至少应该尝试稍微掩盖密码 至少它对于索引程序或快速浏览我的代码的杂散眼来说是不可见的
  • 如何在android项目api 3(android 1.5)中使用Base64(自api 8(2.2)起包含在android中)?

    我需要在我的应用程序上使用 Base64 import android util Base64 但是 Base64 包含在 android 2 2 中 api lvl 8 然后 当我进行导入时 我收到此错误 Base64 无法解析 并且不让
  • 每个VST SDK似乎都是针对C++的,那么C#呢?

    我想开始制作 VSTi 更具体地说 midi 那些不产生任何声音而只是将 midi 数据输出到其他 vst 插头 琶音器 和弦工具等 的 现在我刚刚买了 C 书籍 认为这将是一门不错的语言 不仅仅是 vst 编程 但每个人都一直说 C 是正
  • 如何以编程方式卸载flutter中的应用程序?

    我正在 flutter 中构建一个启动器应用程序 但我无法添加卸载功能 请帮我 添加权限在manifest file
  • 清理 SQL 数据

    谷歌出现了各种关于清理网络访问查询的讨论 但我没有找到任何解决我所关心的问题的内容 在 C 程序中清理用户输入数据 这必须通过可逆转变来完成 而不是通过移除来完成 作为问题的一个简单例子 我不想破坏爱尔兰名字 最好的方法是什么 是否有任何库
  • 将图像绘制到面板控件上会在调整大小时产生伪像

    目前我正在尝试做我认为简单的任务 将图像绘制到整个区域Panel control在 Windows 窗体中 请暂时忽略我可以使用BackgroundImage财产 要绘制的图像如下所示 IE 一个黄色框 周围有 1 像素蓝色框 为了绘图 我
  • 在 GCC 中编译而不生成输出文件

    gcc c somefile c无需链接即可编译并生成相应的somefile o 是否可以编译文件gcc不生成任何输出文件 我知道还有其他方法可以实现此目的 但我很好奇是否有一个标志专门用于正在经历寻找错误 警告的源代码 您可能会喜欢 fs