Я включаю в себя, как это требуется библиотекой MySQL C.
Автозаполнение в VS2010 также показывает любую идею, что это такое?
Являются ли они взаимозаменяемыми и есть ли преимущества одного над другим?
Спасибо!
Я включаю в себя, как это требуется библиотекой MySQL C.
Автозаполнение в VS2010 также показывает любую идею, что это такое?
Являются ли они взаимозаменяемыми и есть ли преимущества одного над другим?
Спасибо!
@cost answer ссылки к обсуждению, которое, среди прочего, задает этот вопрос, на который никогда не отвечали:
Есть ли причина, по которой я не могу включить windows.h перед winsock2.h, это дает мне массу ошибок, но как только я переключаю их порядок на все все в порядке... почему?
windows.h включает winsock2.h при компиляции для более новых версий Windows, но для более старой разработки он включает winsock.h. Однако проблема не ограничивается только windows.h. В любое время winsock.h включается до winsock2.h, будут ошибки компилятора. Причина в том, что два файла НЕ НЕ сосуществуют очень хорошо. winsock2.h был предназначен для заменить winsock.h, а не расширять его. Все, что определено в winsock.h, также определено в winsock2.h. Если winsock2.h включено до winsock.h, winsock2.h определяет _WINSOCKAPI_, чтобы компилятор не обрабатывал последующие winsock.h, и все в порядке. Но если winsock.h включен до winsock2.h, winsock2.h не обнаруживает этого и пытается переопределить все, что winsock.h уже определено, в результате чего компиляция завершилась с ошибкой.
Вы должны быть очень осторожны при смешивании кода, который использует winsock.h с кодом, который использует winsock2.h в том же проекте. Например, при написании собственного кода сокета, который использует winsock2.h, и использовании сторонних библиотек, которые все еще используют winsock.h.
Вы должны использовать winsock2.h, если вы не хотите использовать Winsock 1.1. winsock2.h для Winsock 2.
Подробнее об этом можно прочитать на странице Wikipedia Winsock.