首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中调用LLVM-GCC

在PHP中调用LLVM-GCC
EN

Stack Overflow用户
提问于 2014-02-02 06:58:48
回答 1查看 105关注 0票数 0

我尝试通过调用以下方法来生成LLVM中间代码

代码语言:javascript
复制
llvm-gcc -emit-llvm -I/mypath/ -c main.c -o main.o

如果我在终端中手动输入这个命令,它可以完美地工作,没有任何警告或错误。

然而,我已经建立了一个网站,可以通过调用PHP中的exec函数自动执行此过程,如下所示。

代码语言:javascript
复制
exec("llvm-gcc -emit-llvm -I/mypath/ -c main.c -o main.o",$msg,$ret);

它仍将生成带有警告.o文件。警告说

代码语言:javascript
复制
Potential incompatible plugin version. GCC: 4.5.3. Expected: 4.5.4
Defines 'dragonegg_disable_version_check' as env variable to remove this warning.
Please note that unexpected errors might occur.

php命令仍然会返回0,这是成功的。但是,当我运行生成的.o文件时,它将抛出无效的位码签名错误。

服务器运行的是ubuntu和Apache。我的llvm-gcc版本是2.9,使用的是4.2.1的gcc。

任何帮助都行。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-02-02 07:35:43

最好的办法就是把GCC升级到4.5.4。但如果只想隐藏警告,只需定义dragonegg_disable_version_check即可。

代码语言:javascript
复制
$command = 'dragonegg_disable_version_check=1'
         . ' llvm-gcc -emit-llvm -I/mypath/'
         . ' -c main.c -o main.o';
exec($command,$msg,$ret);

有关invalid bit code signature错误的信息,请参见此questions

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21504772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档