0

我只在 Flascc SDK 1.0 示例 01_helloworld 项目中将 -O4 -flto-api=exports.txt 添加到 Makefile 脚本

这是最终的 Makefile 内容:

    "$(FLASCC)/usr/bin/gcc" $(BASE_CFLAGS) hello.c -O4 -flto-api=exports.txt -emit-swf -swf-size=200x200 -o hello.swf

export.txt 是从 09_Pthreads 复制的,内容如下:

# built in symbols that must always be preserved
_start1
malloc
free
memcpy
memmove
flascc_uiTickProc
_sync_synchronize

# symbols for C++ exception handling
_Unwind_SjLj_Register
_Unwind_SjLj_Resume
_Unwind_SjLj_Unregister
_Unwind_SjLj_RaiseException

构建完成后,我用 flash debug APP 11.5 打开它,但上面什么都没有。

我的HelloWorld在哪里

我能做些什么来找出原因吗?感谢您的任何建议。

4

2 回答 2

1

使用这个 - 或者只添加你的 export.txt:__muldi3 和 vglttyioctl

_start1 malloc free memcpy memmove flascc_uiTickProc vglttyioctl __muldi3

于 2013-03-30T09:15:32.620 回答
0

正如paleozogt 所提到的,如果您在使用导出文件时遇到符号ater 的引用错误,则意味着您的导出文件没有保护足够的符号。将“_vglttyioctl”添加到您的exports.txt 文件中应该可以解决问题。

如果 LLVM 可以看到使用符号的代码,则符号通常默认受到保护。例外情况是唯一的引用来自它看不到的 AS3 代码。在这种情况下,默认控制台实现希望能够调用 vglttyicotl 函数,但它已被条带化,因为它在导出文件或其余位码中未提及。

于 2012-12-13T22:28:00.167 回答