Только для указанных целей в сборке конечных версий кода F#

Или с этим плагином - нет необходимости в h 8)

http://railspikes.com/2008/1/28/auto-escaping-html-with-rails

6
задан Brian Rasmussen 23 October 2009 в 19:42
поделиться

1 ответ

Максимальный стек различие связано с тем, что компилятор C # компилирует первый метод с «легким» заголовком тела метода, который используется всякий раз, когда код небольшой, не имеет исключений и локальных переменных. В этом случае maxstack не указан и по умолчанию равен 8.

Компилятор F # использует «толстый» заголовок тела метода и указывает вычисленный maxstack.

Что касается nop, это потому, что вы компилируете в режиме отладки. Они всегда начинают тело метода с nop. См. Из fsharp / ilxgen.ml:

// Add a nop to make way for the first sequence point. There is always such a 
// sequence point even when zapFirstSeqPointToStart=false
do if mgbuf.cenv.generateDebugSymbols  then codebuf.Add(i_nop);

Если я скомпилирую ваш факториал без отладочных символов, я не получу nop.

17
ответ дан 8 December 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: