Войти
ПрограммированиеФорумОбщее

Функции вызываемые по умолчанию C/С++ (3 стр)

Страницы: 1 2 3
#30
15:34, 10 сен. 2019

oxotnik
> в SDL2 такое делается грязными хаками.

Не надо грязи. :) Там всё просто делается и без хаков - программист объявляет свою функцию SDL_main которая является точкой входа, а SDL как библиотека просто даёт на каждой платформе свою реализацию main-а которая вызывает SDL_main. И надо заметить, что реализация main-а в SDL вообще не обязательно будет иметь имя main, но это может быть и WinMain и всё что угодно - platform-dependent и именно из-за этого SDL и вводит понятие кросс-платформенного SDL_main.
Так что хаком это не является, хотя действительно то что библиотека предоставляет точку входа в себе выглядит необычно.


#31
(Правка: 15:49) 15:48, 10 сен. 2019

=A=L=X=
а #define main SDLMain это так, бонусом))

я потом с этим SDL_main на ипфоне бугурт словил ))

Сделали бы нормально, типо sdl_init ( который есть).

#32
16:19, 10 сен. 2019

oxotnik
> а #define main SDLMain это так, бонусом))

Я честно говоря не знаю зачем там такой финт сделан, в нём не вижу смысла и сам явно прописываю точку входа как SDL_main. Мимикризация под main тут как собаке пятая нога и погоды вообще никакой не делает.

#33
(Правка: 16:31) 16:27, 10 сен. 2019

=A=L=X=
Ну и еще то, что SDL забирает main к себе, тоже не есть хорошо.
Особенно когда ты линкнуешь свою либу с SDL. А потом ее используют там, где есть main.

Пришлось делать свой appMain с #define main appMain

ps: SDL_main  в сллучае плюсового проекта недостаточно. Нужно еще писать extern "C". Макрос автоматом подставляет иф плюсы то extern "C"

#34
16:59, 10 сен. 2019

Для тех, кому не нравится SDL_main https://wiki.libsdl.org/SDL_SetMainReady

#35
17:31, 10 сен. 2019

Dimich
10 чаев этому господину)

Ушел переписывать либину

#36
18:07, 10 сен. 2019

Aroch
> это не так если они не глобальные или не были сконструированы косвенно другими
> глобальными переменными

Цитата, достойная книжки «с++ за 21 день».
Эх, сейчас бы в теме про нестандартное подключение библиотек начать рассказывать про разные значения ключевых слов...
#37
21:27, 10 сен. 2019

pahaa
> Цитата, достойная книжки «с++ за 21 день».

Если я просто хочу скомпилировать реализацию инстациированного класса один раз, чтобы не пихать ее во все заголовочники, увеличить скорость компиляции и уменьшить размер бинарника? Это не модно, да? © pahaa
#38
22:11, 10 сен. 2019

Aroch
И к чему это тут?
Во-первых, инстанциирование шаблонов не является частью элементарного синтаксиса языка, в отличии от ключевых слов.
Во-вторых, это был ответ на конкретную копипасту про использование шаблонов в библиотеках (это холивар ещё в комитете по стандартизации разводили, когда не удалось создать нормальную поддержку export template), т.к. копипаста не соответствовала предмету разговора.
В-третьих, явное инстанциирование шаблонов является далеко не элементарной техникой и требует от программиста понимания того, что он делает.
Так что у моей фразы нет ни шанса, чтобы попасть в «с++ за 21 день».

#39
14:48, 11 сен. 2019

как же мне жалко контору и тех ребят которые такое Г будут потом поддерживать

Страницы: 1 2 3
ПрограммированиеФорумОбщее