Автор Тема: MinGW  (Прочитано 31823 раз)

Valery

  • Full Member
  • ***
  • Сообщений: 101
    • Просмотр профиля
Re: MinGW
« Ответ #45 : Январь 14, 2013, 01:30:06 pm »
Если по стандартным - то
1. Стандарт С++ - Бог в помощь... :)
2. Стандарт С - то же самое.

3. MSDN - смотреть helper'ы - там состав указан

Если по виндовым - только MSDN

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #46 : Январь 14, 2013, 01:33:35 pm »
Например здесь. MS VS видимо знает, под каким Windows'ом она работает.
Спасибо. А кроме MSDN есть учебник какой-нибудь? Типа "Особенности программирования на cpp под Windows"? :)
Просто на MSDN нужно знать что искать, а я пока совсем чайник.... да и сообщения компилятора мало о чем говорят.

И еще вопрос вдогонку: Как в cpp ориентироваться без мануалов?

X512

  • Newbie
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: MinGW
« Ответ #47 : Январь 14, 2013, 01:44:02 pm »
А что вам на WinApi написать понабилось? Этот API уже морально устарел Microsoft его уже почти не обновляет и потихоньку от него пытается отказаться. Есть C#, Qt и другие современные платформы.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #48 : Январь 14, 2013, 01:53:54 pm »
Я просто пытаюсь понять азы кодинга на cpp.
На додиезе у меня таких проблем не возникало. Там все логично и понятно :) А вот с cpp чувствую себя неуютно...

Valery

  • Full Member
  • ***
  • Сообщений: 101
    • Просмотр профиля
Re: MinGW
« Ответ #49 : Январь 14, 2013, 02:02:05 pm »
Спасибо. А кроме MSDN есть учебник какой-нибудь? Типа "Особенности программирования на cpp под Windows"? :)
Просто на MSDN нужно знать что искать, а я пока совсем чайник.... да и сообщения компилятора мало о чем говорят.

И еще вопрос вдогонку: Как в cpp ориентироваться без мануалов?
1. Надо четко отделить стандартный С++ от всего остального. В С++ есть куча стандартных библиотек из С. В С++ есть STL - своя куча стандартных библиотек. Остальное - от операционной системы.
2. Без мануалов - НИКАК. Есть несколько неплохих учебников
 - Страуструп (два гуся :) ) http://www.ozon.ru/context/detail/id/6089823/
 - Стивен Прата  http://www.ozon.ru/context/detail/id/7979735/
 - Стенли Липпман.
У Липпмана есть книжка для начинающих - это очень неплохой учебник: http://www.ozon.ru/context/detail/id/2988768/
А есть книжка для продолжающих: Основы программирования на С++. Я про нее писал рецензию на РСДН - там обложку можно посмотреть. Это из серии C++ in-depth. Книжка 2002 года, всего 256 страниц. Но чтобы въехать в предмет - хватает.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: MinGW
« Ответ #50 : Январь 14, 2013, 03:27:24 pm »
И еще, товарищи, посоветуйте плиз справочник по библиотекам cpp. Нифига не понимаю как во всех этих заголовочных файлах ориентироваться.  :(
Справочник: http://en.cppreference.com/
Всяко лучше чем MSDN
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: MinGW
« Ответ #51 : Январь 14, 2013, 03:29:45 pm »
А что вам на WinApi написать понабилось? Этот API уже морально устарел Microsoft его уже почти не обновляет и потихоньку от него пытается отказаться. Есть C#, Qt и другие современные платформы.
Развивают и нет, не устарел. Одно время MS действительно пыталась прикопать WinAPI в пользу .net и c#, сейчас курс обратный.
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #52 : Январь 14, 2013, 04:26:06 pm »
И еще, товарищи, посоветуйте плиз справочник по библиотекам cpp. Нифига не понимаю как во всех этих заголовочных файлах ориентироваться.  :(
Справочник: http://en.cppreference.com/
Всяко лучше чем MSDN
То что надо! Спасибо, valexey.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #53 : Январь 14, 2013, 04:37:23 pm »
У Липпмана есть книжка для начинающих - это очень неплохой учебник: http://www.ozon.ru/context/detail/id/2988768/
А есть книжка для продолжающих: Основы программирования на С++. Я про нее писал рецензию на РСДН - там обложку можно посмотреть. Это из серии C++ in-depth. Книжка 2002 года, всего 256 страниц. Но чтобы въехать в предмет - хватает.
Спасибо, Валерий. Остановлюсь пока на Липпмане.  :)

DddIzer

  • Гость
Re: MinGW
« Ответ #54 : Январь 14, 2013, 06:47:24 pm »
И еще, товарищи, посоветуйте плиз справочник по библиотекам cpp. Нифига не понимаю как во всех этих заголовочных файлах ориентироваться.  :(
Справочник: http://en.cppreference.com/
Всяко лучше чем MSDN
Это точно, спасибо.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #55 : Март 21, 2013, 06:52:09 pm »
Люди, подскажите как в MinGW сделать proxy для dll.

ps Для MS SDK нашел: http://www.freelists.org/post/luajit/The-dreaded-newbie-questions,10

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #56 : Март 23, 2013, 12:49:33 pm »
Человеки, подскажите как в msvc dll скомпилить.
исходник: https://code.google.com/p/miniz/source/browse/trunk/miniz.c

Делаю так:
cl /c miniz.c
link /DLL /OUT:miniz.dll miniz.obj

в результате dll ничего не экспортирует.

В MinGW делаю так:
gcc -c miniz.c
gcc -s -shared -o miniz.dll miniz.o
И все отлично.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #57 : Март 23, 2013, 01:22:41 pm »
Я так понял, что gcc по дефолту все экспортирует, а msvc наоборот. И для последнего нужно создавать def-файл со списком экспортируемых символов.

Можно ли сгенерить этот def-файл автоматически?

Berserker

  • Sr. Member
  • ****
  • Сообщений: 254
    • Просмотр профиля
Re: MinGW
« Ответ #58 : Март 23, 2013, 02:07:32 pm »
Эм, а директивы экспорта конкретных процедур в коде используются (__declspec(dllexport))? Или нужно абсолютно всё экспортировать?

Для того, чтобы выходные имена получались без искажения (name mangling), то использование DEF-файла — единственный способ.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #59 : Март 23, 2013, 02:11:17 pm »
Товарищи, еще вопрос:
Ключ /MD при компиляции стоит использовать?