Отладьте C++ dll в C#

Мне очень не нравится, когда люди говорят мне использовать геттеры и сеттеры вместо того, чтобы делать переменную общедоступной, когда вы сможете получить и установить переменную класса .

Я полностью согласен с этим, если это изменить переменную в объекте в вашем объекте, так что вы не получите такие вещи, как: a.b.c.d.e = что-то; но я бы лучше использовал: a.x = что-то; затем a.setX (что-то); Я думаю, что a.x = что-то; на самом деле и то, и другое легче читать, и красивее, чем установить / получить в одном и том же примере.

Я не вижу причины, сделав:

void setX (T x) {this-> x = x; }

T getX () {return x; }

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

34
задан ANeves 7 July 2014 в 16:11
поделиться

3 ответа

Если я правильно вас понял, вы хотите отладить созданную вами DLL в коде C ++ в проекте C #, который вызывает DLL, которую вы также создали?

Я сделал это перед тем, как перейти в свойства проекта C # и в разделе «Отладка» установить флажок «Включить отладку неуправляемого кода». Это должно позволить вам войти в вашу C ++ DLL.

36
ответ дан 27 November 2019 в 16:46
поделиться

Чтобы отладить C ++ из C #, вам нужно сделать несколько вещей.

  1. Добавьте проект C # к вашему решению для вашего приложения отладки.
  2. ] Измените свойства проекта C # на «Разрешить отладку неуправляемого кода» на вкладке «Отладка» свойств проекта.
  3. Установите проект C ++ как зависимость проекта C #.
  4. Напишите код в своем проекте C # чтобы использовать DLL с помощью P / Invoke или COM.
  5. Установите несколько точек останова в коде C ++ и запустите проект C #.
19
ответ дан 27 November 2019 в 16:46
поделиться

Visual Studio не может выполнить DLL самостоятельно.

Вам необходимо указать запускаемый EXE-файл, который будет использовать вашу библиотеку C ++, в свойствах вашего проекта DLL. Вы можете сделать это из свойств -> отладка -> команда , указав путь к исполняемому файлу, который будет вызывать вашу dll, и любой необходимый аргумент командной строки.

5
ответ дан 27 November 2019 в 16:46
поделиться
Другие вопросы по тегам:

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