我试图使用Adobe Alchemy编译的C++代码进行swc。一开始它工作得很好,但当我添加更多的c++代码时,不幸的是,将它链接到链接最终会产生一个链接时间错误:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:3209)
at java.lang.String.<init>(String.java:215)
at java.lang.StringBuilder.toString(StringBuilder.java:430)
at macromedia.asc.parser.Scanner.nexttoken(Scanner.java:657)
at macromedia.asc.parser.Parser.getNextToken(Parser.java:673)
at macromedia.asc.parser.Parser.lookahead(Parser.java:631)
at macromedia.asc.parser.Parser.match(Parser.java:434)
at macromedia.asc.parser.Parser.parseAsmDirective(Parser.java:5128)
at macromedia.asc.parser.Parser.parseAsmStatementOrExpr(Parser.java:4949)
at macromedia.asc.parser.Parser.parseAsmStatement(Parser.java:4927)
at macromedia.asc.parser.Parser.parseStatement(Parser.java:4211)
at macromedia.asc.parser.Parser.parseAnnotatedDirectiveOrStatement(Parser.java:5645)
at macromedia.asc.parser.Parser.parseDirective(Parser.java:5594)
at macromedia.asc.parser.Parser.parseDirectives(Parser.java:5985)
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4411)
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4397)
at macromedia.asc.parser.Parser.parseFunctionCommon(Parser.java:1631)
at macromedia.asc.parser.Parser.parseFunctionDefinition(Parser.java:6898)
at macromedia.asc.parser.Parser.parseAnnotatableDirectiveOrPragmaOrInclude(Parser.java:5916)
at macromedia.asc.parser.Parser.parseAnnotatedDirectiveOrStatement(Parser.java:5712)
at macromedia.asc.parser.Parser.parseDirective(Parser.java:5594)
at macromedia.asc.parser.Parser.parseDirectives(Parser.java:5985)
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4411)
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4397)
at macromedia.asc.parser.Parser.parseClassDefinition(Parser.java:7542)
at macromedia.asc.parser.Parser.parseAnnotatableDirectiveOrPragmaOrInclude(Parser.java:5920)
at macromedia.asc.parser.Parser.parseAnnotatedDirectiveOrStatement(Parser.java:5712)
at macromedia.asc.parser.Parser.parseDirective(Parser.java:5594)
at macromedia.asc.parser.Parser.parseDirectives(Parser.java:5985)
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4411)
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4397)
at macromedia.asc.parser.Parser.parsePackageDefinition(Parser.java:8053)
"Java堆空间"意味着Java堆空间不够,它需要设置jave选项,比如"Java-Xms128M-Xmx512M-jar..",但我在炼金术中找不到在哪里设置选项。
请帮帮我,提前谢谢。
Oldmannt
一些尝试:
- 不要使用调试标志(
-g
和朋友)进行编译。这会导致它生成大量额外的代码,并且经常导致内存不足 - 增加
$ALCHEMY_HOME/achacks/gcc
中的堆空间arg($jmemmax
)