【问题标题】:Online C++ compiler: output binary files for me? [closed]在线 C++ 编译器:为我输出二进制文件? [关闭]
【发布时间】:2012-08-26 15:06:01
【问题描述】:

是否有任何网站可以让我上传我的源代码,它会返回我可以从 Linux 运行的二进制文件?

我不擅长使用 Linux,这种服务对我来说是救命稻草。

我知道 codepad.org,但据我所知,它只输出这些程序的文本。我需要下载它在编译时生成的可执行文件。

【问题讨论】:

  • 如果你刚刚学会了如何编译,你会帮自己一个大忙……
  • 只需支付 20 美元的小额费用,只需将您的代码通过电子邮件发送给我。
  • 编写源代码可能很困难,因为您正在编写它,但使用编译器应该容易得多。 PL。使用命令 g++ yourfilename -o outputfile 编译并生成可执行文件
  • 我不相信来自这样一个站点的二进制文件。这将是一种非常好的感染病毒的方法。
  • @EmilVikström,我不明白这比 stackoverflow.com 更受信任吗?任何网站都可能被黑客入侵并注入病毒。您如何下载任何可执行文件,您是否始终信任地执行它们?但是,如果其他人从您的代码中编译它,它会神奇地变得不那么受信任吗?我不明白这种偏执狂背后的想法。

标签: c++ linux compiler-construction executable


【解决方案1】:

我不知道有任何这样的网站(我也不一定相信它会给我带来什么)。

您有什么理由不能只编译自己的源代码?任何程序员都应该知道如何编译他们编写的源代码。设计/编写代码很难,编译很简单(而且比上传/下载文件更容易:)

假设您的 C++ 源代码使用 .cpp 扩展名保存,只需执行以下操作:

   g++ yourprog.cpp

它会生成一个默认名称为a.out的二进制可执行文件,只需键入即可执行

   ./a.out 

在提示符下。

如果您想启用所有警告(一个好主意),您可以添加-Wall 命令行开关。要命名可执行文件,请使用-o(用于输出)开关。下面是一个使用这两种方法编译程序的示例:

   g++ -Wall yourprog.cpp -o prog

这会编译源代码yourprog.ccp,启用完整的警告消息,并生成一个名为prog 的可执行文件(您可以选择任何名称)。在提示符处执行与上一个可执行文件相同的方式:./prog

如果您使用.C 扩展名,只需将.C 替换为上面的.cpp

这里是编译 C++ 程序的 more examples,这里是 tutorial。最后是gcc/g++ man page

请注意,正如@MagnusHoff 的有用评论所指出的,如果您还没有可用的编译器和相关工具,您可能必须安装它们。 @MagnusHoff 在下面的评论中给出了 Ubuntu 的说明,您的具体情况可能会因您使用的发行版而异。

【讨论】:

  • 干得好,忽略这个问题 xD 这会更有用。
  • 值得注意的是需要安装编译器和相关工具。在 Ubuntu 上,这是通过安装 build-essential 包来完成的,例如使用以下命令行:sudo apt-get install build-essential
  • @MagnusHoff 很好,我会在答案中添加一个关于这个的注释。谢谢提醒。
  • 感谢您的帮助。如果我在 ubuntu 上编译它,它在其他一些 linux 版本上不起作用的可能性有多大?如果我只使用基本库?
  • @Rookie 移动二进制文件总是有点“不确定”,但它仍然完成了(毕竟,微软和大多数商业软件公司就是这样分发他们的产品的)。二进制文件与底层硬件密切相关(当然还有任何外部库,如果它们不是静态链接的)。如果您要从同一类型的机器转移到另一台机器,并且在库方面没有使用任何“奇怪”的东西,那么它很可能会起作用,但要确保您应该尝试。如果可以的话,最好分享源代码(如果可能的话)。
【解决方案2】:

您可以使用 Ubuntu 软件中心提供的代码块(它是免费的,我认为您也可以找到其他发行版的版本)。 http://www.codeblocks.org/ 我认为这个界面很容易习惯。祝你好运!

【讨论】:

  • 我会将 KDevelop 或 QtCreator 添加到推荐列表中。
  • 所以我不需要安装 VirtualBox,只需要安装代码块!?太棒了。
  • 确实!它是一个独立的程序,点击几下即可运行。
  • 我在哪里选择它将编译二进制文件的平台?到目前为止,它只是为 Windows 制作 exe...
  • 我用谷歌搜索到处都找不到说我可以从带有代码块的 windows 编译到 linux...你确定它这样做吗?
猜你喜欢
  • 1970-01-01
  • 2013-01-08
  • 2011-01-09
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多