crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

RazrFalcon
  опции профиля:
сообщение 27.3.2011, 6:22
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


.cpp
#include <QtCore/QCoreApplication>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    return a.exec();
}

void my_func()
{
    //some thing
}
.h
#ifndef MAIN_H
#define MAIN_H

void my_func ();

#endif // MAIN_H


Это правильный способ или нет?
А то я давно так не делал, но вроде работает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Iron Bug
  опции профиля:
сообщение 27.3.2011, 21:44
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(Алексей1153 @ 27.3.2011, 18:42) *
А ещё более правильно - класс сделать и туда статическую функцию сунуть

а вот это как сказать... если планируется использование в качестве библиотеки и т.п., то тут есть минус в том, что при экспорте будет геморрой и потенциальная несовместимость между компиляторами. иногда логичнее оставить функцию снаружи. ну, можно ещё объявить пространство имён, чтобы не засорять глобальное пространство.
Цитата(RazrFalcon @ 27.3.2011, 22:57) *
Обязательно ли писать extern перед функцией?

extern означает, что функция в другом модуле. обычно компилятор сам видит линки внутри проекта. но если это подключение статической библиотеки или взаимодействие с кодом на С, то это обязательно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 18.3.2025, 9:51