编译按需可执行文件

时间:2013-02-19 19:11:46

标签: c++ compilation ondemand

GoToMeeting的gotomeeting.com/join有一个有趣的行为 - 当您直接访问会议URL时,您需要下载一个新的exe二进制文件,该文件在执行时会议ID 已经集成并且无需输入会议ID即可自动启动程序。

我的第一个想法是,它被合并到可执行文件的元数据中,但仔细检查会让我相信这些exes是使用会议ID编译的。

所以这里有几个问题:

  • 他们是否正在建设/编译?
  • 如果是这样,实施这个是不是有很大的开销?
  • 这必须是大规模安全风险,对吧?

因此,假设我愚蠢地尝试这样的事情 - 是否有安全方式从我的基于Web的框架发布make等?我的直觉告诉我没有。

我已经阅读了以下SO问题,这些问题告诉我这类问题通常会引起很多愤怒:

fast on-demand c++ compilation

Silverlight on-demand compilation/Build

1 个答案:

答案 0 :(得分:2)

我不明白为什么你说在你的基于网络的框架中发布make必须必然是不安全的。它可能,但它可能不会。它几乎肯定会很慢,并可能导致不可接受的延迟。

在我看来,更合理的方法是将可执行文件编译好,在结果文件中使用“blob”保留数据替换所需的实际数据然后 sign 生成的文件。

这可能比编译快得多,而且更容易实现启动!