Будучи давним разработчиком POSIX / Linux / BSD C и теперь пытаясь сделать несколько вещей с Visual C ++ 2010, я вроде как возился с этим инструментом, потому что он не совсем работает так же, как GCC набор инструментов делает. Теоретически, по крайней мере, в соответствии с документами, это кажется очень похожим (и я уверен, что это так), но я не вижу того, что ожидаю увидеть.
В этом случае я пытаюсь создать библиотеку C для последующего использования в проекте .NET, и я хочу быть осторожным, чтобы избежать конфликтов во время выполнения в дальнейшем. Я думал создать статическую библиотеку, связанную с DLL-версией среды выполнения C (msvcr100d.dll в конфигурации отладки), поэтому я установил флаг /MDd
. Однако, когда я использую dumpbin.exe
для проверки итогового вывода .lib, он не показывает никаких зависимостей или импорта.
Два вопроса, действительно:
- Это плохая идея в первую очередь? Должен ли я создавать DLL или связываться со статическим CRT вместо этого?
- Почему
dumpbin.exe
не показывает зависимость от CRT, когда я использую /MDd
?
Обновление : Выбор правильной библиотеки времени выполнения C / C ++ довольно полезен и информативен. Я попробовал предложенное им заклинание dumpbin
, и в результате было показано, что библиотека действительно ссылается на msvcrtd
, как и ожидалось, но это не отвечает на мой второй вопрос выше.