Я пытаюсь запретить использование метода, иметь ошибку компиляции, если какой-то кусок кода использует его.
Это проприетарный устаревший модуль, и я знаю, что некоторые методы проблематичны. У нас есть файлы заголовков и DLL.
Я не могу понять, как использовать этот метод в огромном проекте, который я использую (много определений, некоторые неявные приведения …)
Может ли компилятор остановить (или просто предупредить), если обнаружит использование этого метода?
Ты можешь использовать __declspec(deprecated)
в Visual C ++ для генерации предупреждений об использовании определенной функции. Ты можешь использовать #pragma deprecated
осудить использование любого символа (включая макросы).
Смотрите больше информации на MSDN. Это может генерировать предупреждения или ошибки (в зависимости от флагов компьютера), но вы можете подавить их при необходимости с дополнительными #pragma
s
Ну, не уверен, работает ли он или нет (поэтому, пожалуйста, исправьте меня), но вы можете поиграть с созданием библиотек из ваших DLL
что-то по линии, из командной строки VS:
dumpbin /exports yourdll.dll
вы получите вывод символов экспорта и скопируете его в файл .def
отредактируйте файл .def, чтобы удалить ненужные символы
сделайте lib и свяжите это с вашим приложением
lib /def:C:\mydef.def /OUT:C:\mylib.lib