Может переупорядочивание компилятора C++ элементы в структуре

Это ошибка, которую я вижу: OpenQA.Selenium.DriverServiceNotFoundException: Файл chromedriver.exe не существует ни в текущем каталоге, ни в каталоге переменной среды PATH.

Я решил эту проблему, указав аргумент 'testsettings' в команде для запуска модульных тестов.

, например,

E:\Development\SampleProject\SampleProject.MvcWebApp\SampleProject.MvcWebApp.JavaScriptUnitTests\JavaScriptUnitTests\bin\Debug>"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\mstest.exe" /testcontainer:JavaScriptUnitTests.dll /category:"JavaScriptUnitTests" /testsettings:..\..\..\Local.Testsettings /resultsfile:..\..\..\..\..\MsTestResults\SampleProject.MvcWebApp.JavaScript.Tests.trx

Я использую "/testsettings:......\Local.Testsettings", потому что файл Local.testsettings на 4 уровня выше, чем уровень, на котором я выполняю эту команду. Вы должны изменить это соответственно.

Эта команда используется в файле ccnet.config

<exec>
    <executable>C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\mstest.exe</executable>
    <baseDirectory>SampleProject.MvcWebApp\SampleProject.MvcWebApp.JavaScriptUnitTests\JavaScriptUnitTests\bin\Debug</baseDirectory>
    <buildArgs>/testcontainer:JavaScriptUnitTests.dll /category:"JavaScriptUnitTests" /testsettings:..\..\..\Local.Testsettings /resultsfile:..\..\..\..\..\MsTestResults\SampleProject.MvcWebApp.JavaScript.Tests.trx</buildArgs>
    <successExitCodes>0</successExitCodes>
</exec>
.
12
задан Lehane 27 May 2009 в 17:18
поделиться

2 ответа

Обычно он не может переупорядочивать элементы, нет.

Исключение составляет спецификатор доступа, разделяющий их:

struct Foo {    
  A a;
  B b;
  C c;
private:
  D d;
  E e;
  F f;
};

a , b и c гарантированно хранятся в этом порядке, а d , e и f гарантированно сохраняются в порядке. Но нет никаких гарантий относительно того, где a , b и c хранятся относительно d , e и f .

Еще одна вещь, о которой следует помнить, это то, что компилятор может вставлять столько заполнения, сколько хочет, даже если он ничего не меняет.

Вот соответствующая часть стандарта:

Раздел 9.2.12:

Нестатические элементы данных (не-объединение) класс, объявленный без промежуточный спецификатор доступа распределены так, чтобы последующие участники высшие адреса в классе объект. Порядок размещения нестатические элементы данных, разделенные спецификатор доступа не указан (11.1) "

31
ответ дан 2 December 2019 в 03:54
поделиться

Не может, см. Автоматическое изменение порядка полей в структурах C во избежание заполнения и Почему GCC не оптимизирует структуры? для получения дополнительной информации.

Я не знаю, что вы имеете в виду под «обратным», возможно, вам следует добавить код и результат.

7
ответ дан 2 December 2019 в 03:54
поделиться
Другие вопросы по тегам:

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