2015-09-25 94 views
1

背景: 我有很多动态框架是用位代码支持构建的。由于其他一些依赖关系,我无法在我的主应用程序上支持位代码,并且由于我正在开发iOS应用程序,所以在将它们发送到iTunes Connect进行分发时,构建会被拒绝,因为它们包含带有位代码的框架。所以不管他们为什么要这样做,我需要从框架中删除位代码,以便分发我的应用程序。将llvm位代码库转换为本地代码库

问: 有没有办法通过LLVM,铛或任何其他工具之一位码二进制转换为本地二进制文件?

回答

0

有可能是它避免了位码将IR的一种方式,但下面的工作链至少:

clang -O3 -emit-llvm hello.c -c -o hello.bC#Source -> Bitcode 
llvm-dis hello.bc -o hello.ll    #Bitcode -> IR 
clang hello.ll -o hello      #IR  -> Native 
+0

这需要源的重新编译不过。在这种情况下是否可以转换已编译的库,即.dylib? – carlossless

+0

我没有使用.dylib文件,所以我不知道任何有关它的细节。我想这是不可能运行llvm-dis的吗? – Andreas

+0

其实我是从我手机看的例子,稍微误解了它,稍后我会试一试。 – carlossless