Опции по умолчанию компилятора Visual C++

Если вы предоставите такой класс:

public class Foo
{
}

или это:

public class Foo()
{
    public Foo()
    {
    }
}

компилятор сгенерирует код для этого:

public class Foo()
{
    public Foo()
    {
        super();
    }
}

Строго говоря, вызов super () всегда есть.

На практике вы должны вызывать «super (...)» только там, где есть параметры, которые вы хотите передать родительскому конструктору.

Это не неправильно называть «super ()» (без параметров), но люди будут смеяться над вами: -)

7
задан user200557 1 November 2009 в 18:50
поделиться

3 ответа

Я всегда просто ищу в Google "параметры cl".
Это самый популярный на данный момент: Синтаксис командной строки компилятора (C ++) [MSDN]

Как есть обычно для документации Microsoft, это немного бессистемно, но кажется полным. Когда опция является настройкой по умолчанию, это отмечается (хотя и не согласованным образом)

1
ответ дан 7 December 2019 в 12:22
поделиться

Проверьте cl /? в ссылке /? в командной строке. Я считаю, что значения по умолчанию различаются для каждой версии.

0
ответ дан 7 December 2019 в 12:22
поделиться

Похоже, что информации о фактических значениях по умолчанию на веб-сайтах Microsoft не так много, однако Джефф Чаппелл, похоже, провел некоторое исследование по этой теме. Вот ссылка:

http://www.geoffchappell.com/viewer.htm?doc=studies/msvc/cl/cl/initial.htm&tx=27

Как мы все знаем, что говорится в документации, и то, что на самом деле делает программное обеспечение, - это две разные вещи.

Для дальнейшего ответа на вопрос, вы можете увидеть, какие параметры cl передает модулям компилятора c1xx.dll и c2.dll, передав параметр / Bd в cl:

cl /Bd helloworld.cpp

Чтобы увидеть переменные среды, которые использует компилятор и компоновщик тип:

cl /Be helloworld.cpp
4
ответ дан 7 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

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