Я занимаюсь C около 20 лет, но никогда не создавал DLL; Я всегда предпочитал статически ссылаться.
Я использую командную строку - cl.exe, etc - и gnumake makefiles для создания приложений Windows.
Теперь я хочу создать DLL, и я запутался.
В конечном счете, я получаю как .lib, так и .dll. В файле .lib содержится код-заглушка, который во время выполнения загружает DLL и использует в нем код.
Я смотрю на строки команд для lib и link, и для меня не очевидно, что именно должно быть сделано, для создания этого вывода.
У меня есть несколько вопросов:
Требуется ли cl каких-либо дополнительных аргументов, чтобы указать, что они компилируются для DLL? (Я знаю, что прототипы, экспортированные DLL, нуждаются в __declspec (dllexport)).
Я знаю ссылку /dll как аргумент.
Я запустим lib и link, чтобы создать .lib и .dll соответственно, или свяжутся с продуктом как?
Что еще мне нужно знать?